Pseudocode for CommCTRLR v1

General Comm Controller Functionality To Do

  • Cutdown communications
  • HF Transmitter communications
  • Parsing satellite received messages for I2C and Cutdown
  • Sleep Arduino
  • Read Telemetry data from EEPROM direct to satellite modem

Satellite Functionality To Do

  • Improve reports and messages transmission output rate
  • Receive Reports and Messages
  • Sleep until sats in view

Detailed Code To Do

Fix packlen problem seen in Reportxmit1.txt file:

Sent to Sat: 86 12 8 0 E7 16 E1 82 
Waiting for sat response: Serial In: 5 1 7 0 0 C1 32 6 break for r packlen

Messages Queued for outbound delivery: 1
Waiting for sat response: Serial In: 14 B 0 75 0 16 1 2 9B B2 
  • Add pullup resistors to sat TX and RX lines on comm ctrlr

Orbcomm Functions Currently Supported

  1. Bootup wait for sat modem ready
  2. Serial packets to Sat Modem
    1. Get Parameter
      1. Custom function to Debug print all parameters
    2. Set Parameter
    3. LLACK
    4. Communications Command
    5. Send Default Report
    6. Send Default Message
  3. Serial packets from modem (variable length)
  4. Partial Parsing of received packets
    1. LLACK - Link Level Acknowledgement
      1. Good or bad status code output
  5. Full Parsing of received packets
    1. Parameter Response

General Pseudo algorithms

Maintain Assigned Transmissions to transmit, remove assignment from this list when placed in sat buffer successfully

  • EEPROM Address array
  • EEPROM Length array

Reading message routine

Parameter prep: RTS needs to be used for flow control of data FROM SC. See below To use

When DA pin goes high,
SC will send message packet when RTS is deactivated

Power down via software

First set paramters:
0x2F pwr_dwn_mode = 1
0x3A rcvr_power = 0

Using RTS for flow control from SC

Parameter 0x26(38) ob_flow_ctrl must be 1.
Should set RTS pin high when not ready for serial data.

software/speedball1/commctrl/pseudocode.txt · Last modified: 2011/01/06 03:26 by bradluyster
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki