I did have time for a couple of items:
I added the enclosure for the mast that supports the solar panels:
- Cut back panel to size
- Attached Velcro to two carrier panels (and the required tangential work on repairing the sewing machine...)
- Stitched the carrier panels to the tarp - by hand - with one of those 'Speedy Stitcher' awls. Don't let the name fool you - it's not really that speedy.
- Pounded 5 new grommets into the tarp edge. Hammering into end grain for the hole punch worked best, and setting the grommets is easy if everything is 100% lined up & hit straight.
I also grabbed an Arduino and tested the elevation feedback wiring - it still works, so spending a season outdoors didn't seem to affect it. The color coding is:
- Brown - Ground
- Green - +5V
- White - Analog return
I still have to run power/comms lines from the power box. Power will terminate on a 2.1mm barrel jack connector; I'm not sure about comms. I think maybe just a two pin header for now since it's 'just I2C' and I can connect it to the open side of the RTC.
// 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.
Cut fabric for mast cover, fab and attach velcro closure; set grommets and screwed to backside of solar panels. 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