Library updates / integration list:
|Library||extern||Minimum Functions||General purpose notes|
|timestamp.h (DS3231 RTC)|
get time, make timestamp...
|Done||getRTC() current time>reg|
setAL1(), setAL2() set alarms from reg
setRTC() to update clock
i2c access to 24LC256 chip
|//rem'd out||read(), write() single bytes|
readBlock, writeBlock to copy config / comm areas in one call
|VMEM||Done||read(), write() single bytes, from any memory media|
extend to include SDFAT
|Log||Pending||prepare a 16 byte block of log data, either performance or status|
Both angle/target seeking and basic chip control
|Done||getPos(), setDrive(), setTarget() (has az,el angle conversions as well|
|MCP (MCP 23017)||Partial||No defined interface yet|
|LCD||Pending||No defined interface yet|
|avr (base)||Pending||Generic A/D read/write|
|ESP8266||Pending||Will need to incorporate|
Extend to include SPIFFS comm buffer (eventually)
|BattBox||Pending||Need simple avr i2c slave to read some adc lines for current, voltage|
- Write up something that manages the 4 byte structs for describing execution state. Library?Plain array? Library, I think. This is linked to schedule, code and the way it's loaded in memory as objects. Gotta finish that this weekend.
- copy the sun position schedule currently in a FLASH_ARRAY into some of the unused low bytes of internal EEPROM. I think it fits between the reg and MAP.
- sift thru the current spreadsheet of opcodes and stuff all the blocking calls into one group so we can flag those in the sequence generator - in case we need to run those as 'exclusive'.
- I had an idea to wrap the stock LCD library so we can include references to a string_table for option-list type fields. Currently it's all numeric. Smells like scope creep.
- UPDATE: I forgot the August 31 deadline for autonomous operations. I've started a reverse calendar to count down the work items left. It's about 2 weeks of time left, and about 6 weeks of work
- sun sensor - sealing the top and mounting the base to the array.
- fabric enclosure completion (it's held on with bungee cords right now)
- user interface 'box' mounting and cable routing, mounting the panels and power switches
- power and comms cable from the battery box
- revisit vmem - make it buffer-backed for 32 byte page-writes.
array mounting and charge cabling platform, table, and mast build, linear actuator tests, azimuth feedback testing and characterization sensor build and testing 3D printing the feedback rack and gear for elevation 3D printing the feedback gear for the XL belt azimuth table 3D printing the sub-panels for the user interface box write up the keywords.txt and example for the XEEPROM library, and test it all out organize the reg[ ] array into config and run entries. Those entries that are only used during setup() don't have to be copied in memory. I should be able to save about 32 bytes of SRAM this way.