This morning is all about documentation catchups; most of the hardware build is done and the notes below are updated.
This afternoon is going to be about the enclosure for the azimuth / elevation unit and maybe the power and comms lines from the battery box.
|Internals as of 16 Sept 2017. Power not connected.|
- Add a 4 pin line from the logic board to the ESP8266 on the PSU board.
- TX <> RX’s
- Enable (Digital 12 to CH_PD)
- Interrupt (GPIO2 to AVR pin 2)
- Add 3 pin connector from the Auto/Manual SW & LED to a pin on the MCP, with +5v & GND
- Add JST line from PSU to logic board; add a JST board connector to the logic board and patch it into +5v and ground busses
- add a +5v line from the PSU to the Motor Driver board
- move the keypad to a connector to the MCP23017 instead of punch terminals
- add a line from the SQW output to the MCP for interrupt MUXing to the AVR (pin 3)
- add a support standoff for the RTC (DS3231?) to the logic PCB
- user interface ‘box’ mounting and cable routing, mounting the panels and power switches
- sun sensor – sealing the top and mounting the base to the array.
- 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.
- wiring for reset button
- wiring for keypad
- cut template for sample control panel
- mounting tabs for panel needs do-over
- switches mounted; wiring diag and harness done
- drill and mount pcb’s to carrier plate
// TODO software:
- 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.
- 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.
- revisit vmem – make it buffer-backed for 32 byte page-writes.