Improvements gradually come, depends on my free time and features I want to implement. Check out this cool IR temperature sensor app! Wrote it in half an hour and now I can measure temperature by just connecting a MLX90614 sensor to my wearable PC.
Also, check out this lecture helper app! It has a counter to show how many minutes are left from your chosen time interval, and you can load a document with lecture tips to scroll through them and see what is it you've gotta talk about now.
Wireless connection app got some improvements. You can now see status in a Refresher, meaning you don't have to wait or scroll through menus until you get your IP address - it'll appear on the screen by itself. (old verbose menu is still there - just click ENTER in the refresher!) Also, you can now manage networks that are already added. Oh, and the config is now saved automatically after each change.
You can now make backlight turn on and off after a time interval automatically. It's not there by default due to some corrections needed to the code, but it'll get there eventually.
There's a dialog box UI element now! How cool is that?
I've decided that, for my project, code comments generally suck. You have to maintain them, they provide little to no value compared to proper documentation and clutter the view. I'm now trying to focus on better naming and deleting comments where they are not necessary to develop apps for pyLCI - that means comments on internal functions are going to disappear, IMO for the better.
A base class for all input drivers, yaay! It now will be easier to implement features like storing mappings in configs, hotplug etc. Would theoretically also be cool to have a common base class for UI elements, but I cannot imagine it right now - they're good so far. However, it's not in the main release yet - I'm still testing it.
I should learn more of Git workflows and GitHub features - making proper releases etc. Should reduce chances of pushing things that break workflows etc - I generally should have stable branches. I can't yet imagine testing because everything's asynchronous and hardware-dependent. =(
There's a TODO list growing in my text editor. Here it is for now:
Finish and refactor path_picker
- Add and test display backlight management to all output drivers
- Fix Adafruit shield display backlight management
- Clean comments in UI elements
- enable instead of select when adding a wireless network
- "format_for_screen" function for text
- Test and merge input refactoring
- Make a release system
- Changing UI elements to use threading.Event
- Backlight manager documentation
- Docs, docs, docs
- Move app manager to separate class
- App for pyLCI configuration
- Enabling/disabling apps
- Updating pyLCI (properly selecting releases etc.)
- Hold/pressed/released button states
- Input stream mode
- Number UI input element
- Device monitoring&restarting
- "TODO per day" app
- Proper PiFaceCAD support
- Menu contents refresh hook
It's kinda cryptic in some places, but I do know what's what.
Till next time!