Thursday, January 16, 2020

SLR Film Camera - Stage One

I added in repository a project that demonstrates ST7735R mini library's new functionality. A project that is also my SLR Film Camera project. At this stage, it demonstrates tha graphical menu of a film camera and a light meter with LUX and EV values. See the article here:

Monday, January 13, 2020

ST7735R mini library update

New additions:

- Added garmin digits and a function about battery status with graphical feedback;

- Added XBM 64x64, 48x48, 32x32, 16x16 bitmap functions.

See the article here:

More VPC bugfixes and updates

... that I forgot to publish them also here. So here they are:

Sunday, December 29, 2019

ST7735 mini library demonstration

This time, the article is written under the form of a tutorial, with tons of images. I would like some feedback, if possible. Thank you!

Read it here:

Saturday, August 3, 2019

Friday, July 12, 2019

Wednesday, July 10, 2019

VPC version 3 released!

Finally! VPC looks decent now. 

- It comes with a full featured "Clock Setup" window of which settings are reflected in the generated code;

- Also provided some blink examples, using various clock sources at various frequencies - all blink examples should toggle the LED at 500ms interval. More examples to come - the old projects are not compatible as now you need version 3 of the project file;

- Fixed some "hard to detect" bugs.

Code committed in repository!

Thursday, June 27, 2019

Final version of "Clock setup" window mockup

This is the final version and I think it contains all the elements required to set the frequencies of the STM32L1 clocks regarding to the Nucleo board hardware. I'll work hard to make it functional, but it will depend on my health and time.

But now something is obvious: if I want to keep the resolution compatible with a modern laptop LCD screen (and I want to keep it), then there is no space for all the features a clock window setup has for an STM32F4 microcontroller - a micro that I want to target in the future for the same Nucleo 64pin board format.

Update July 1, 2019: It seems that the final version wasn't quite final... below is the most recent one, but that means even more work regarding the generated code and error solver...

UPDATE July 7, 2019: the clock configuration window is now 100% functional. Next, to work on the generation of the code according with the settings made in the clock configuration window and to modify the new/load/save project file (as we have new data to save) procedures accordingly. Soon...

Monday, June 17, 2019

Big bug fixed: pll settings

The PLL settings were way off. And that may be the reason why my onewire library didn't worked (is my next test to be done after this fix). Code was committed to the repository.


In the future (version 3?), the clock window configuration will allow much more flexibility - at least, at the CubeMX level. But not so soon. The mockup is ready...

Sunday, May 26, 2019

VPC version 2 released

Version 2

I pretty much believe that the version 2 of the VPC is a mature version. Even if it still says "Beta" and even if it comes with just a basic set of features. The code is simplified, modular and clearer, with some new features in regards to the version 1. And this being said, I will stop the development for now. All I'll do is bug fixing if necessary. I did this project to remain true to my words when I said on the ST Community forums that I'll make my own visual configurator than use CubeMX anymore and thank God I did it. So it stops here. I don't do much these days with STM32 micros and I toy with the idea of trying dsPIC33 micros for their DIP28 case and because they are working at 5Vcc. More than great for home automation projects. Anyway, it was a fun journey and I am proud of the result.

Elements of version 2 of VPC

What this project represents

Well, probably nothing for  you, but for me VPC is:
 - an open source tool that provides the best alternative to the CubeMX;
 - a tool that does not step on your intellectual property;
 - a tool that do not spies on your project or computer and do not call home;
 - a nice programming exercise in procedural pascal;
 - the only tool that provides a visual configuration for the SPL library;
 - an effort to learn the SPL library along with the development of VPC.

From where you can get it

From it's repository hosted at Gitlab. Look for the address in the right panel. I'll update another time the l152 projects already published that were created with version 1 of VPC.


Right now, the existing l152_* projects in the repository are not compatible with the version 2 of VPC.

Thank you for following this project!

Tuesday, May 14, 2019

VPC2 - update

Well, almost ready. Both Nucleo and LQFP64 pin configuration windows (both of them have functional, click-able pads) will use common code to set the pins. This results in clearer and cleaner code.

The GUI functionality will be a little different than in the first version of VPC regarding setting the parameters of the peripherals, but not in a bad way, I think. You'll see.

The project file has a new version. The VPC2 will be able to load projects created with the version one, but it will save the opened project as version two. Now those (three) pins that have fixed, permanent functions because how the Nucleo hardware is set (USART2 and user button B1), will also be saved in the project file, allowing further modification of the application's code.

I2C1 will be able to use any of the two pairs of pins (PB8-PB9, PB6-PB7). Currently, it uses only PB8-PB9 pair.

I had to do this, as the initial code was kind of an experiment and hard to manage (I wanted to see if I am able to free myself from the ST.M. tools). The restructured code will easily allow the add of new pin layouts as an 144pin Nucleo board or any custom layout without much hassle. 

As for progress, I am at conflict mitigation and at the I2C1 code generation according with the new changes. These are the last two things to get done before publishing the code.

Monday, April 29, 2019

VPC mock-up - Morpho and Arduino connectors

As I said, I started working to the new changes: in the image below you have the new pin configurator for Morpho and Arduino connectors. If you liked the previous more, is time to fork the project.

- the pin labels won't be permanently visible, you have to hover with the mouse pointer over the pin, and if there is a defined label, it will appear as a hint (tooltip). This is because I design for a Laptop limited screen resolution and because I'm using standard Lazarus components for the simplicity and portability of the code across languages and GUI interfaces.

- the window will share code with lqfp64 window so less code;
- hopefully, the code will be more readable and easy to follow, encouraging user changes and additions.

UPDATE: Well, I had to balance the image so added some more info...

Ha! I said in a recent post that I am not mentally prepared to start working on lqfp64 window and meantime I doubled the work to be done. Nice :P

UPDATE2: And this is the final version of the mock-up: