Meeting Feb 2

Concerns from last week

  • AVR might lose serial communications that come in when interrupts happen
    • If we're using interrupts for timing (or wireless, or anything), this could be a problem
    • UART might be a solution to this
    • We need to check on this, it might all be hocus pocus
    • If necessary, we can modify ROS-serial to resend corrupted data (this looks possible)


ROS-Serial (Abe)

  • Abe's computer is borked for the moment, no major updates from him
    • He'll fix it and get back to us
  • Serial protocol seems relatively lightweight, but Abe hasn't done enough research to give it a firm thumbs-up or thumbs-down
  • The client library is in Python, which is acceptable (dependent on performance), but not preferred
    • We may have to rewrite it to C++

Setting Pins on the AVR (Tom)

  • We are going to avoid Arduino's software if at all possible
    • It doesn't seem to be tremendously useful
    • It would also suck to implement
  • Homework: find examples that aren't Arduino. Also, datasheet.

Setting Pins on the Arm (Alex L)

  • Pretty straightforward
  • Homework is to get a definitive reference
    • "Remind me later" - azl
    • Bribe him with candy

Wireless (Jeff + Ben)

  • We can set pins on the AVR to trigger state changes and/or set data to the zigbee
    • To send stuff, load stuff into the buffer, set the "okay, GO" pin, get an interrupt on success
    • Receive stuff by setting "receive" pin and reading
  • There exists a new wireless library (called 'wireless-new') that got mostly-written for colony3 and then forgotten
    • Goals were to improve reliability (ACK function, toggleable), more intuitive function names and levels of indirection, and more functionality (customizable stuffs)
    • It got mostly written and stuck in debugging phase
    • We can probably reuse most of the code, and most of the spec
  • Homework:
    • Find, update, and post specification and documentation for the old library
  • Big idea: wireless should be run entirely from the AVR
    • ARM should only see a higher-level interface, have a read/write buffer, and be able to set configs
  • XBEE IS WEIRD. We chatted about it a bit.