Reply by boB April 29, 20212021-04-29
On Thu, 29 Apr 2021 01:31:40 +0100, Mike Perkins <spam@spam.com>
wrote:

>On 28/04/2021 16:08, Ed Lee wrote: >> On Wednesday, April 28, 2021 at 7:52:07 AM UTC-7, Mike Perkins wrote: >>> On 22/04/2021 07:22, John-Smith wrote: >>>> I am working on a project and need a bit of help here and there. >>>> >>>> I am working on it with someone who knows a lot more than I do but he >>>> is available only 1 day a week, so instead of posting questions on >>>> various forums (mostly never answered) I am considering looking for >>>> someone who can work on a retainer of X per year or something like >>>> that and would be able to provide support. >>>> >>>> It ranges from CPU specific stuff like how to set up one of the DACs >>>> to generate a sinewave from precomputed values in RAM (yes lots of >>>> examples on the web; mostly not usable except for hints) to C >>>> questions. I have written a fair bit of C but use it as a "basic" >>>> language, avoiding pointers and using arrays instead :) etc. And right >>>> now I am trying to sort out STLINK V3 and why the GDB log level (shown >>>> in Console) has mysteriously changed from 31 to 1... >>> This is near second nature though the ST Cube hal libraries try to be >>> all things for all men and so have a number of flaws. >>> >>> Nothing wrong with arrays! >> >> Nothing wrong with pointers either. >> >> ADC1->XXX, USART1->XXX and GPIOA->XXX are all pointers. How can you avoid pointers? > >I'm not saying you can't. The STM32Cube suite removes some of the need >to understand pointers as everything is done through libraries. A good >example is GPIO access: > HAL_GPIO_WritePin(Port, Pin, value); > >The HAL libraries are weak in some areas. By example it won't natively >implement a fast SPI slave.
Also, the ADC with DMA does a pretty good job of sequencing the outputs.
Reply by boB April 29, 20212021-04-29
On Thu, 29 Apr 2021 01:31:40 +0100, Mike Perkins <spam@spam.com>
wrote:

>On 28/04/2021 16:08, Ed Lee wrote: >> On Wednesday, April 28, 2021 at 7:52:07 AM UTC-7, Mike Perkins wrote: >>> On 22/04/2021 07:22, John-Smith wrote: >>>> I am working on a project and need a bit of help here and there. >>>> >>>> I am working on it with someone who knows a lot more than I do but he >>>> is available only 1 day a week, so instead of posting questions on >>>> various forums (mostly never answered) I am considering looking for >>>> someone who can work on a retainer of X per year or something like >>>> that and would be able to provide support. >>>> >>>> It ranges from CPU specific stuff like how to set up one of the DACs >>>> to generate a sinewave from precomputed values in RAM (yes lots of >>>> examples on the web; mostly not usable except for hints) to C >>>> questions. I have written a fair bit of C but use it as a "basic" >>>> language, avoiding pointers and using arrays instead :) etc. And right >>>> now I am trying to sort out STLINK V3 and why the GDB log level (shown >>>> in Console) has mysteriously changed from 31 to 1... >>> This is near second nature though the ST Cube hal libraries try to be >>> all things for all men and so have a number of flaws. >>> >>> Nothing wrong with arrays! >> >> Nothing wrong with pointers either. >> >> ADC1->XXX, USART1->XXX and GPIOA->XXX are all pointers. How can you avoid pointers? > >I'm not saying you can't. The STM32Cube suite removes some of the need >to understand pointers as everything is done through libraries. A good >example is GPIO access: > HAL_GPIO_WritePin(Port, Pin, value); > >The HAL libraries are weak in some areas. By example it won't natively >implement a fast SPI slave.
I let Cube do the original initialization from the graphical interface but after that, it's all plain old C. I prefer to understand the processor and maybe make the firmware run as fast as possible. I'm not that great of a C programmer. boB
Reply by Mike Perkins April 28, 20212021-04-28
On 28/04/2021 16:08, Ed Lee wrote:
> On Wednesday, April 28, 2021 at 7:52:07 AM UTC-7, Mike Perkins wrote: >> On 22/04/2021 07:22, John-Smith wrote: >>> I am working on a project and need a bit of help here and there. >>> >>> I am working on it with someone who knows a lot more than I do but he >>> is available only 1 day a week, so instead of posting questions on >>> various forums (mostly never answered) I am considering looking for >>> someone who can work on a retainer of X per year or something like >>> that and would be able to provide support. >>> >>> It ranges from CPU specific stuff like how to set up one of the DACs >>> to generate a sinewave from precomputed values in RAM (yes lots of >>> examples on the web; mostly not usable except for hints) to C >>> questions. I have written a fair bit of C but use it as a "basic" >>> language, avoiding pointers and using arrays instead :) etc. And right >>> now I am trying to sort out STLINK V3 and why the GDB log level (shown >>> in Console) has mysteriously changed from 31 to 1... >> This is near second nature though the ST Cube hal libraries try to be >> all things for all men and so have a number of flaws. >> >> Nothing wrong with arrays! > > Nothing wrong with pointers either. > > ADC1->XXX, USART1->XXX and GPIOA->XXX are all pointers. How can you avoid pointers?
I'm not saying you can't. The STM32Cube suite removes some of the need to understand pointers as everything is done through libraries. A good example is GPIO access: HAL_GPIO_WritePin(Port, Pin, value); The HAL libraries are weak in some areas. By example it won't natively implement a fast SPI slave. -- Mike Perkins Video Solutions Ltd www.videosolutions.ltd.uk
Reply by Richard Damon April 28, 20212021-04-28
On 4/28/21 11:08 AM, Ed Lee wrote:
> On Wednesday, April 28, 2021 at 7:52:07 AM UTC-7, Mike Perkins wrote: >> On 22/04/2021 07:22, John-Smith wrote: >>> I am working on a project and need a bit of help here and there. >>> >>> I am working on it with someone who knows a lot more than I do but he >>> is available only 1 day a week, so instead of posting questions on >>> various forums (mostly never answered) I am considering looking for >>> someone who can work on a retainer of X per year or something like >>> that and would be able to provide support. >>> >>> It ranges from CPU specific stuff like how to set up one of the DACs >>> to generate a sinewave from precomputed values in RAM (yes lots of >>> examples on the web; mostly not usable except for hints) to C >>> questions. I have written a fair bit of C but use it as a "basic" >>> language, avoiding pointers and using arrays instead :) etc. And right >>> now I am trying to sort out STLINK V3 and why the GDB log level (shown >>> in Console) has mysteriously changed from 31 to 1... >> This is near second nature though the ST Cube hal libraries try to be >> all things for all men and so have a number of flaws. >> >> Nothing wrong with arrays! > > Nothing wrong with pointers either. > > ADC1->XXX, USART1->XXX and GPIOA->XXX are all pointers. How can you avoid pointers? >
Not only are they pointers, but they are compile time constant value pointers so the compiler can convert the accesses to direct memory references.
Reply by Ed Lee April 28, 20212021-04-28
On Wednesday, April 28, 2021 at 7:52:07 AM UTC-7, Mike Perkins wrote:
> On 22/04/2021 07:22, John-Smith wrote: > > I am working on a project and need a bit of help here and there. > > > > I am working on it with someone who knows a lot more than I do but he > > is available only 1 day a week, so instead of posting questions on > > various forums (mostly never answered) I am considering looking for > > someone who can work on a retainer of X per year or something like > > that and would be able to provide support. > > > > It ranges from CPU specific stuff like how to set up one of the DACs > > to generate a sinewave from precomputed values in RAM (yes lots of > > examples on the web; mostly not usable except for hints) to C > > questions. I have written a fair bit of C but use it as a "basic" > > language, avoiding pointers and using arrays instead :) etc. And right > > now I am trying to sort out STLINK V3 and why the GDB log level (shown > > in Console) has mysteriously changed from 31 to 1... > This is near second nature though the ST Cube hal libraries try to be > all things for all men and so have a number of flaws. > > Nothing wrong with arrays!
Nothing wrong with pointers either. ADC1->XXX, USART1->XXX and GPIOA->XXX are all pointers. How can you avoid pointers?
Reply by Mike Perkins April 28, 20212021-04-28
On 22/04/2021 07:22, John-Smith wrote:
> I am working on a project and need a bit of help here and there. > > I am working on it with someone who knows a lot more than I do but he > is available only 1 day a week, so instead of posting questions on > various forums (mostly never answered) I am considering looking for > someone who can work on a retainer of X per year or something like > that and would be able to provide support. > > It ranges from CPU specific stuff like how to set up one of the DACs > to generate a sinewave from precomputed values in RAM (yes lots of > examples on the web; mostly not usable except for hints) to C > questions. I have written a fair bit of C but use it as a "basic" > language, avoiding pointers and using arrays instead :) etc. And right > now I am trying to sort out STLINK V3 and why the GDB log level (shown > in Console) has mysteriously changed from 31 to 1...
This is near second nature though the ST Cube hal libraries try to be all things for all men and so have a number of flaws. Nothing wrong with arrays! If you still want help please feel free to use the contact form on the website below. -- Mike Perkins Video Solutions Ltd www.videosolutions.ltd.uk
Reply by Michael Kellett April 22, 20212021-04-22
On 22/04/2021 07:22, John-Smith wrote:
> I am working on a project and need a bit of help here and there. > > I am working on it with someone who knows a lot more than I do but he > is available only 1 day a week, so instead of posting questions on > various forums (mostly never answered) I am considering looking for > someone who can work on a retainer of X per year or something like > that and would be able to provide support. > > It ranges from CPU specific stuff like how to set up one of the DACs > to generate a sinewave from precomputed values in RAM (yes lots of > examples on the web; mostly not usable except for hints) to C > questions. I have written a fair bit of C but use it as a "basic" > language, avoiding pointers and using arrays instead :) etc. And right > now I am trying to sort out STLINK V3 and why the GDB log level (shown > in Console) has mysteriously changed from 31 to 1... >
You can pm me if you like on mkATmkescdotcodotuk and we can talk about it. MK
Reply by John-Smith April 22, 20212021-04-22
I am working on a project and need a bit of help here and there.

I am working on it with someone who knows a lot more than I do but he
is available only 1 day a week, so instead of posting questions on
various forums (mostly never answered) I am considering looking for
someone who can work on a retainer of X per year or something like
that and would be able to provide support.

It ranges from CPU specific stuff like how to set up one of the DACs
to generate a sinewave from precomputed values in RAM (yes lots of
examples on the web; mostly not usable except for hints) to C
questions. I have written a fair bit of C but use it as a "basic"
language, avoiding pointers and using arrays instead :) etc. And right
now I am trying to sort out STLINK V3 and why the GDB log level (shown
in Console) has mysteriously changed from 31 to 1...