Avionics – Communication protocol, memory storage, Camera, Gyro, Stepper motors.
Supporting commands for transport layer reduced to 3: 1) '~' serial communication loop is functional. 2) '=XCI' retransmit data 3) ‘<’'<'I2Caddr'>''<'data'>'[‘>’'<'bytes-to-read'>'@] For unit allocated 3 queue – one for serial input, another for I2C input, and third for output (output can be serial or I2C, but output queue is only one). Command “=XCI” force input from serial to be transmitted to unit ‘X’ with command ‘C’ over I2C line. Command “=XCc” force input from I2C to be transmitted over serial output to unit ‘X’ with command ‘C’. CMD ‘C’ can be set as ‘ ‘ (space) this will skip inserting command into a retransmission. The same correct for a ‘X’ unit address for retransmission – setting ‘ ‘ (space) will force retransmit but without sending unit address. This is convenient to retransmit data from memory storage over I2C to any unit. When received command ‘<’'<'I2Caddr'>''<'data'>'[‘>’'<'bytes-to-read'>'@ ] this force retransmit data over I2C to device with I2Caddr. Placing ‘>’ at the end of the command with force I2C set Stop-Start condition and read response data from I2C device. For command/stream handling used 3 callback functions. Call back Function called in a serial->I2C (or I2C->serial) retransmit state each time before processing bytes from input queues. Return code allows specify end conditions for retransmission. Call Back Main calls each time in a loop of processing both input queues. I2C queue has priority over serial. Clock based on 8Mhz internal oscillator and it gives around 30 interrupts per second, seconds accuracy depend only on a stability of a internal oscillator. 29 counts of a 1/30 of a second different from last count – last count adjusted to properly set seconds or termal conditions. For synchronization unit uses MCR. Second timer can be used for setting any wait events. Design considerations: 1.Each unit can accept command from each unit. Each command can produce next commands for any unit. Functionality of each unit independent from other unit. Stream of a commands traveling over serial and I2C supports functionality of a vehicle and craft. Functionality of each unit for craft should be used for vehicle. 2.Protocol layers separated into . . . See more on http://www.adobri.com/ProjectComm.aspx