PSAS/ news/ 2004-05-26

Software Team Meetings May 26th, 2004

Here's a very, very rough abstracted transcript of our phone call with James.


bart: Any kernel work left?

james: Kernel is ok. Needs CAN driver. Orinoco may need to adjust RX strength via ioctl. Need to get RSSI from demo mode if poss to adjust things.

bart: UDP network code?

james: There's a common library, LTC-FC. Doesn't interpret contents of packets, just provides them to FCFIFO. FCFIFO treats messages as a large binary packet, then parses them in a complicated way and then passes them to the apropriate routine (smart, sequencer, etc).

bart: so mostly the high level stuff is left.

james: Yes, needs some work with the communication between smart an sequencer since they communicate through the FIFO.

all: maybe we can collapse smart and sequencer to make it easier?

andrew: interface between CANtalope and FCFIFO.

james/ian: testcanin simulates a sequence of CAN messages into a single FCFIFO.

ian: would be nice to have timestamps for performance testing

james: there are system limits on the throughput on messages - since we're just doing data gathering, it shouldn't matter

andrew: what if we collapse smart and sequence into a series of threads?

bart: how is work partitioned in smart?

james: no state machines, just one process.

bart: Let's just get this done: 1. can driver 2. sequencer - get state machine done.

james: needs to do the manual work to populate the state machine - CAN initialize messages, etc.

jay: file directories?

ltc-fc: common comm library fcfifo: all the application specific code (all the process) for the flight computer

manager forks all the processes (also restarts dead processes). fifotimer.c - alarm for dead processes

jay: how to make?

james: Go to ltc-fc directory - type make. Go to fcfifo - type make. A whole bunch of executables... make-tar makes a tarball executable which we can extract on the FC. In /etc/init.d/psas is the init file... which is started by symbolic links in '/etc/rc..d/psas' FifoArchitecture twiki page has some details on the code.

bart: need to make sure that when the fifoalarm expires the write unblocks and is not expired... this needs to be checked.

andrew: where do we put it?

james: look at flight computer file system... /root/fcfifo.

jay: gdb?

james: gdbserver

andrew: gdbstubs

james: over the network

andrew: cantalope to fcfifo communication?

james: replace can_rw with a simulator

andrew: xxx_exports.h from firmware?

ian: single firmware_exports.h file which points to all the different xxx_exports.h files

ian: how to do driver debugging?

james/bart: debug kernels.

ian: CAN driver is code complete, both with and without interrupts.