Status snapshot – 10 Sep 2017

Slow progress; I had an out of town trip and a few unrelated obligations to take care of. Then I decided to consolidate all the tools/equipment/supplies (aka ‘the mess’) to the lab.

I also decided to grab a couple of those sheet metal clamps that hold 2×4’s in the form of a sawhorse for legs under a temporary work surface. In jamming this into the lab I had to move a shelving unit, and whaddaya know, I found my missing spool of TechLace. It’s not fantastically expensive, but it bugged me that I’d looked *right there* a month ago and it was for some reason out of sight until I moved the shelving unit.

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
XEEPROM
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
solsen.h Done 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) 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

// 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 1 week 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.
  • 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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.