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!
Stories
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).
Sneak peek on the current work…
And the result... resetting the pins set as OUTPUT is working.
First main.h header prototype…
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...
First Makefile prototype…
After creating a new project and hitting "Generate the code" button (or menu option), the application will write the Makefile file. The structure and the content of the file is heavily inspired from CubeMX Makefile template, with little addition from my part.The debug, optimization options, floating point options that you set the moment you create … Continue reading First Makefile prototype…
A workaround for SYSUTILS and a fix for VSCode Intellisense
Well, some unexpected problems caused by a bug in SYSUTILS unit of FreePascal and a change made by Microsoft in the keywords of c_cpp_properties.json configuration file of Visual Studio Code.1. There is a bug in SYSUTILS unit I think, where FindFirst function can not return the correct name of a directory like "7.3.1", the result … Continue reading A workaround for SYSUTILS and a fix for VSCode Intellisense
The VPC project is public.
I did not had much time for it as I was doing some PIC based projects but now is public so you can see the progress. But don't get too excited, as it does not generate code yet - few more things to settle and then it will start generating code.Now, the problem relies in … Continue reading The VPC project is public.
Initial supported pin functionality in VPC
Initially, VPC application provide the following pin functionality (source code in pascal):
Storing the project
I use XML format for program settings, but for an entire project is too much of a hassle. Typhoon Relational Database System would have been excellent for this job and can be linked "statically" (embedded), but I have it only as a C library and I don't want to pay the price of translating it … Continue reading Storing the project