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.
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
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
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…
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!
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!
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!
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).
And the result... resetting the pins set as OUTPUT is working.
Pinout label definitions inside the header are fully functional. There are still things to solve, but those will become obvious/mandatory with the usage so, I'm moving to the generation of main.c file (all in one kinda).Also, solved some SPL driver dependencies and working to port my ll_library to spl_library...