I've added a new pin function, "ADIN" that manages the ADC input channels, a proper initialization function for ADC1, an with a status LED on the main window, and an "ADC1 Setup" window.I've also added an ADC reading function in "my_soft_adc.h" header from "spl_library" folder. Not yet committed in repository because I am not ready … Continue reading New "things" added…
Closer to SPL library…
I redesigned SPI(1,2,3) setup windows to reflect the elements from SPL library. As things are in CubeMX, just creates confusion and anyway, there is no need of a CubeMX clone. VPC is a visual configurator for projects that still use the old and battle tested SPL library. I2C might follow (in redesigning the interface) but … Continue reading Closer to SPL library…
NVIC priority sorted out.
Is done for the functionality I intend to have for version 1 of VPC (TIM6 and 7, USART2, UART4 and 5, I2C1 and 2, SPI1, 2 and 3, and all GPIO EXTI). It generates code for NVIC priority and sub-priority (with value validation regarding the Priority Group selected) inside the initialization functions of the peripheral … Continue reading NVIC priority sorted out.
NVIC Priority
Update: Changed my mind, I'll give the user full control as there is now a function that validate the values of the priorities and sub-priorities regarding the priority group selected.Hint: Project Settings window has settings for Priority Groups and for the priorities of the pins set as EXTI. Priorities for the "system interrupts" (as SysTick_IRQn … Continue reading NVIC Priority
Weird… OneWire protocol problems using SPL driver
I have a OneWire protocol library for a DS18B20 sensor, that works ok on PIC and AVR, and even on STM32 micros when using LL driver. I converted the library for the SPL driver and... it trows a "bad data" error!The code written for LL driver works ok. So I thought that my my_delay_us function … Continue reading Weird… OneWire protocol problems using SPL driver
TIM6 or TIM7 as SysTick clock…
A year ago I tried to set the SysTick from the LL drivers but the code generated by CubeMX didn't worked. There were no support for it from ST.M. so I had to find an alternative. I learned that TIM6 and 7 can be used for that, and when I started to work at my … Continue reading TIM6 or TIM7 as SysTick clock…
Huston, we have a blinking LED!
First real project generated with VPC works just fine on the Nucleo-L152RE board from ST Microelectronics. The LED is happily blinking at the specified frequency.The project name is l152_blink and I uploaded it in the repository. Yep, SPL library, babe!There is still a lot to be done, but at least I know it works and … Continue reading Huston, we have a blinking LED!
Second milestone achieved!
A minimal program generated by my vpc application (and without user code added) compiles without error in a sane development environment (see the README.md file in repository to know how to set a sane environment).Anyway, not all cases are tested, and there are more peripherals that needs to be added. I am happy with the … Continue reading Second milestone achieved!
First milestone achieved!
The vpc_gpio_init() function is now complete (for the planned features). The last nuisance (Set or Reset the initial Output level, according to the user choices) was solved and correct SPL code is generated (knock on the wood table).Both values of the "GPIO Output Level" combobox are reflected in the code where is the case.BTW, the … Continue reading First milestone achieved!
Code generation for an EXTI pin setup done
Application generates correct code for an EXTI pin according to the user settings. Four more to solve (OUTPUT, INPUT, ANALOG, EVENTOUT) for the so called "MX_GPIO_Init" function, as defined in CubeMX app (it is "vpc_gpio_init" in my application).