Thursday, June 16, 2016
I added a clock and calendar screen. It took a bit of work to sort out the navigation logic since this is a new feature that I didn't plan for. With each feature that I add, it had been a hand-to-hand combat to conserve precious memory, both the flash and the static RAM. The latter is most critical as there is only 2k bytes. My goal is to have a least uncommitted 512 bytes left. The power management features that I implemented is working very well now and appears to have few bugs. The joystick UI is very smooth without mis-registration. I also managed to add time stamps to the file creation and modified.
Tuesday, June 14, 2016
This is the continuation of a series of post staring with my purchase of an Arduino Uno microcontroller board. Started as a project in search of a mission soon it took on an evolution. It evolved into a project that fulfills some needs that I have long wanted to address and more.
The keyword for this post is power management. Dealing with power management is complex work in hardware or software design. The algorithm of this Vanagon multi-function display has now becomes quite complex. There is a round robin multitasking in which the tasks has their independent cadence and conditional logic. Additionally there is timer interrupt driven polling of the joystick. Now I am adding power management features to manage the ability of soft-on and soft-off based upon the Vanagon's ignition, as well as the ability to use the data logger function independent of the Vanagon's ignition key position. I started to add the power management function when the flash memory is already at 95% capacity. The RAM is already at 70% capacity. Cutting it tight is an understatement.