Saturday, August 12, 2017

Status snapshot 11-Aug-17


Library updates / integration list:



LibraryexternMinimum FunctionsGeneral 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
XEEPROM
i2c access to 24LC256 chip
//rem'd out
read(), write() single bytes
readBlock, writeBlock to copy config / comm areas in one call
VMEMDone
read(), write() single bytes, from any memory media
extend to include SDFAT
LogPending
prepare a 16 byte block of log data, either performance or status
solsen.hDone
read(), inits, 
MD_L298D
Both angle/target seeking and basic chip control
Done
getPos(), setDrive(), setTarget() (has az,el angle conversions as well
MCP (MCP 23017)PartialNo defined interface yet
LCDPendingNo defined interface yet
avr (base)PendingGeneric A/D read/write
ESP8266PendingWill need to incorporate
Extend to include SPIFFS comm buffer (eventually)
BattBoxPendingNeed simple avr i2c slave to read some adc lines for current, voltage

// TODO:
  • 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.

// DONE

  • 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.

No comments:

Post a Comment