Sunday, January 20, 2019

Project promoted to version 1.0 Beta

"Open Project" and "Save As..." options are working fine but be aware that there is no user code preservation if the project is loaded again and code is regenerated. For your code to be preserved, you have to open the project and save it under a new name. Then copy all the code you added to the new project. You have been warned!

So, pretty much all I wanted to have for the first version is there. It allows you visually configure your pins and the basic peripherals (with conflict mitigation) and this is already a big help for a beginner that works with SPL library.

GPIO Setup:
- digital input;
- digital output;
- EXTI input;
- analog input for noise and power consumption reduction;
- EVENTOUT.

ADC:
- analog input channel;

Communication  peripherals:
- I2C1;
- I2C2;
- SPI1;
- SPI2;
- SPI3;
- UART4;
- UART5;
- USART2.

TIMERS:
- TIM6;
- TIM7.

Clock configuration (32MHz full speed only):
- Internal 16MHz;
- External, bypass 8MHz (provided by the onboard programmer);
- External crystal 8MHz;
- External RTC crystal;
- SysTick setup.

Third party functionality:
- Alphanumeric LCD display;

NVIC priorities

Configuration files for Visual Studio Code that is used as IDE and Debugger for Nucleo-L152RE board (if you wish).

Automated Makefile generation for IDE independence.

C code generation of your project in two files: main.h and main.c

Third party libraries for onewire sensors, DS18B20 temperature sensor, PCF8583 rtc clock, MAX44009 LUX I2C sensor, I2C master hardware and software libraries, LCD4, delay functions.

Several application examples are included (which will be soon updated to the new version of VPC).

It was a lot of work, not always in good health (as any other out there), but thanks God I came to a good result. I chose Lazarus + FreePascal for two reasons: excellent string manipulation and amazing event driven user interface. It saved me a lot of development time. Programming style? Just pure procedural - huge portions of the code can be easily ported to other languages. Maybe I'll do a C/C++ & Qt porting, but now is time to work on my neglected projects...

Project committed in its repository.

No comments:

Post a Comment

Commenting, you must be respectful.