SAT Satellite I/O Board Firmware Release Notes ---------------------------------------------- Version 1.14 21-Feb-2001 LWIL ----------------------------- - The PDB main SAT firmware will now read the PDB's "VERSION REGISTER" pcb jumpers to set the SCON board ID. With no jumpers installed (the current default), the PDB's SCON board ID will still be 10H. The three version jumpers will allow the PDB's SCON board ID to be set from 10H to 17H. This allows for multiple PDBs existing on the SCON (CAN) bus at the same time. Note that the metal shield (top) cover must be removed to access the PDB's Version Register jumpers. - A new monitor command: "sat sdelay nnn" is available that will store the number of seconds to delay upon firmware startup, IF waiting for the user to enter a 'Y' or 'y' character at the serial port to over-ride the binary DF1 communication protocol. The default wait time is still 3 seconds. - This version of _SAT firmware was built using the following baseline components: Baseline Build #2043 built: Feb. 21, 2001. 376 1.65 11-Sep-2000 ERR 1.13 22-Jan-2001 * MON 1.52 21-Aug-2000 OWB 1.09 18-Jan-2001 * SAT 1.42 20-Feb-2001 * SIF 1.22 03-Nov-2000 STG 1.15 05-Dec-2000 STP 1.19 16-Oct-2000 URT 1.16 29-Jan-2001 * UTL 1.44 21-Nov-2000 (*) - denotes a changed subsystem Version 1.13 15-Dec-2000 LWIL ----------------------------- - The firmware's operating mode (NORMAL, RS232 LOCAL, or RS232 GATEWAY) is now saved in non-volatile storage. This means that if you set the satellite board into RS232 access local|gateway mode, it will re-start in that mode when reset or re-powered up. Use the Normal mode ascii commands to set RS232 DF1 modes: "sat remote gateway" - for RS232 DF1 gateway mode "sat remote local" - for RS232 DF1 local mode - 4 new FCR (firmware control register) commands have been added. CMD_DF1BAUDRATESAVE - Will save the DF1 serial port access mode baud rate into NVS. (Place desired 32-bit binary baud rate in virtual register 0x7FB) CMD_MODE_NORMAL - Select Normal operating mode CMD_MODE_RLOCAL - Select RS232 DF1 Local Access mode (no CAN Bus usage) CMD_MODE_RGATEWAY - Select RS232 DF1 Gateway Access mode (CAN Bus MUST be present) Note that switching between DF1 access modes, or switching to Normal mode from a DF1 access mode will require that the satellite firmware be restarted. - When the satellite firmware has been set into one of the DF1 RS232 access (binary) modes, and the firmware is coming out of reset, the follow message will be displayed from the console serial port at 9600 baud: Override Binary Mode? (Y/N) This will be displayed for up to 3 seconds. If a 'Y' or 'y' is sent (@9600 baud), then the firmware will reset itself back into the Normal mode. You can then use the normal "Creo" password (@9600 baud) to enter Normal ascii mode communication. Be sure to wait about 3 more seconds for the firmware to go through a complete reset cycle before entering the "Creo" password. If you enter any other character then the firmware will immediately cancel the 3 second wait, and enter the DF1 binary communciation mode. - The Hearbeat status LED will indicate what mode the satellite firmware is running in: BBR Code - alternate flashing of Heartbeat and Service LEDs (no change) Boot Code - .5 second On, .5 second Off (no change) Normal - 1 second On, 1 second Off (same as previous versions) RS232 Gateway Access Mode - 2 On flashes; 200mS On,200mS Off,200mS On,1.4S Off RS232 Local Access Mode - 3 On flashes; 200mS On,200mS Off,200mS On,200mS Off,200mS On,1.0S Off - The console (ascii) mode baud rate can still be changed with the "sat baud nnnn" command, but it will always start up using 9600 baud when running in Normal mode. The "sat baud nnnn" command will set/save the DF1 binary protocol mode(s) baud rate in NVS. In previous versions of the satellite firmware, the DF1 binary communication was fixed at 9600 baud. Starting with v1.13, it can be changed to any arbitrary value. - The monitor commands will only be available when running the firmware in Normal mode, or only if you have just switched from Normal mode to one of the DF1 RS232 access modes and have not yet reset the firmware. This affects the ability to "connect" to the satellite board using the MCE's "sio con nnn" command. This will not normally be a problem, as when satellite boards are used with a master (such as the MCE) they would (always?) be used in the Normal mode anyway. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1806 built: Dec. 15, 2000 376 1.65 11-Sep-2000 ERR 1.12 19-Sep-2000 MON 1.52 21-Aug-2000 OWB 1.08 17-Nov-2000 * SAT 1.39 07-Dec-2000 * SIF 1.22 03-Nov-2000 STG 1.15 05-Dec-2000 * (new subsystem added) STP 1.19 16-Oct-2000 URT 1.14 20-Jul-2000 UTL 1.44 21-Nov-2000 * (*) - denotes a changed subsystem Version 1.12 07-Nov-2000 LWIL ----------------------------- - The Firmware Control Register Set (starting at 0x7f0) has had 2 additional registers added to it. The register @ 0x7fd represents the DF1/Gateway mode DF1 Tx buffers "high-water" count. This value indicates the maximum number of DF1 Tx holding buffers that were in use at one time. This register can be written, so as to reset it back to 0. The register @ 0x7fe represents the DF1/Gateway mode maximum number of Tx holding buffers available. This value can be written to reduce the maximun number of DF1 Tx holding buffers available for diagnostic purposes. It cannot be written to a value higher than supported by the hardware/firmware. The default (and highest setting) number of DF1 Tx holding buffers for GENINE/PDB boards is 5000. The default number of DF1 Tx holding buffers for LIONEL board is 8. - The top bit (bit 15) of the Firmware Control Register's "Firmware Status" (@ 0x7f5) now will indicate if the DF1/Gateway serial access mode ran out of Tx holding buffers. If this occurs, then a CAN bus SCON packet was dropped (lost) and NOT sent out the rs232 serial port. This bit is "sticky" with no method provided to reset it. It is meant as a long-term error indicator bit. To clear it, reset the satellite board firmware. - For the GENINE and PDB board firmware, the number of DF1/Gateway Tx holding buffers have been increased to 5000, from the previous value of 8. - When accessing the satellite board via the DF1 serial protocol gateway mode, if a virtual register Read/Write request is addressed to the local (i.e. the actual board acting as the CAN Bus gateway) it will be handled internally on the gateway board. There will be no CAN Bus SCON packets transmitted/received for this transaction. Previous satellite firmware versions (GENINE/PDB) would transmit the SCON request out on the CAN Bus even if it was only for the local gateway sat board. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1684 built: Nov. 7, 2000 376 1.65 11-Sep-2000 ERR 1.12 19-Sep-2000 MON 1.52 21-Aug-2000 OWB 1.07 27-Oct-2000 * SAT 1.38 27-Oct-2000 * SIF 1.22 03-Nov-2000 * STP 1.19 16-Oct-2000 URT 1.14 20-Jul-2000 UTL 1.42 19-Sep-2000 (*) - denotes a changed subsystem Version 1.11 18-Oct-2000 RHIN ----------------------------- - Added stepper motor hardware error status latching (for improved diagnostics). - This version of _SAT firmware was built using the following baseline components: Baseline Build #1669 built: Oct. 17, 2000 376 1.65 11-Sep-2000 * ERR 1.12 19-Sep-2000 * MON 1.52 21-Aug-2000 OWB 1.04 06-Oct-2000 * SAT 1.33 16-Oct-2000 * SIF 1.20 11-Oct-2000 * STP 1.18 16-Oct-2000 * URT 1.14 20-Jul-2000 UTL 1.42 19-Sep-2000 * (*) - denotes a changed subsystem Version 1.10 01-Sep-2000 LWIL ----------------------------- - Added the OWB gateway virtual register set support. This allows a GENINE or a PDB board to drive the Dallas 1-Wire-Bus (iButton devices) from the board's RS232 serial port. For this to work, a hardware mod must be done. A positive voltage must be brought out to the serial port's DB-9 connector, the RTS and DTR output lines. This allows use of the Dallas DS1411 interface device. - Added support for Monitor I/O Stream Re-Direction across the CAN Bus. You MUST use an MCE board with the command "sio con xxxH" to access this feature. The "xxxH" is the desired satellite board's SCON address value. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1637 built: Sept. 01, 2000 376: 1.64 24-Jul-2000 ERR: 1.11 27-Jan-2000 MON: 1.52 21-Aug-2000 * OWB: 1.03 17-Aug-2000 * (new subsystem added) SAT: 1.25 16-Aug-2000 * SIF: 1.18 05-Apr-2000 STP: 1.17 06-Jan-2000 URT: 1.14 20-Jul-2000 UTL: 1.39 13-Jun-2000 (*) - denotes a changed subsystem Version 1.09 11-Aug-2000 LWIL ----------------------------- - A DF1 serial port driver re-entrancy bug was fixed. May have caused DF1 outgoing packets to be corrupted or lost. This problem would ONLY occur on satellite boards that were being used as an RS232 serial gateway to the CAN bus. This is an optional firmware feature that must be enabled via the RS232 diagnostics serial port of the satellite board. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1622 built: Aug. 11, 2000 376: 1.64 24-Jul-2000 * ERR: 1.11 27-Jan-2000 MON: 1.51 27-Jul-2000 * SAT: 1.24 10-Aug-2000 * SIF: 1.18 05-Apr-2000 STP: 1.17 06-Jan-2000 URT: 1.14 20-Jul-2000 * UTL: 1.39 13-Jun-2000 * (*) - denotes a changed subsystem Version 1.08 27-Apr-2000 LWIL ----------------------------- - Fixed an SCON protocol bug, where when a NAK packet was being issued, the error code byte was always set to 00. - Added support for PDB Rev D/E hardware. This adds I/O scanning for the 2 new input points: DOOR_FUSE.OK and DOOR_UNLOCK.SNS/. This change is compatible with previous PDB Rev B and C boards. - When Transmit errors occur on the CAN Bus (68376 TouCAN controller) for no termination, or no nodes present, then the active transmit operations are cancelled. This fixes the problem of firmware 'hanging' upon startup when no nodes or no terminator exists. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1546 built: Apr. 27, 2000 376: 1.60 07-Mar-2000 * ERR: 1.11 27-Jan-2000 * MON: 1.50 11-Apr-2000 * SAT: 1.22 17-Feb-2000 * SIF: 1.18 05-Apr-2000 * STP: 1.17 06-Jan-2000 URT: 1.13 26-Nov-1999 UTL: 1.38 31-Mar-2000 * (*) - denotes a changed subsystem Version 1.07 24-Jan-2000 LWIL ----------------------------- - Starting with _SAT boot code v1.05, the boot code will not automatically print it's sign-on messages out the diagnostic serial port. The main _SAT firmware will indicate to the boot code that it is OK to use the diag serial port if it itself is using the diagnostic serial port, and the monitor command 'reset boot' is given. This is done via a shared ram variable. For this to work, it requires the 376 BBR v1.02 or newer to be installed also. - Added internal copyright notice to binary (code ) image. - Internal 68376 sram is now used for the stack and heap. External 8 bit sram is now used for separate data and the main global/static C data area. - 68376 CAN Controller Interrupt handler (in 376 subsystem) optimized for faster interrupt response. - Internal changes due to a code review done on the TouCAN interrupt handler and the firmware startup code. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1475 built: Jan. 24, 2000 376: 1.58 17-Jan-2000 * SAT: 1.21 17-Jan-2000 * ERR: 1.08 23-Nov-1999 URT: 1.13 26-Nov-1999 MON: 1.43 20-Jan-2000 * UTL: 1.32 14-Jan-2000 * SIF: 1.16 20-Jan-2000 * STP: 1.17 06-Jan-2000 (*) - denotes a changed subsystem Version 1.06 10-Jan-2000 RHIN ----------------------------- - Increased the IPL for the TouCAN controller to 5 and reduced the IPL of the SCI interrupt to 3 - Added a deferred processing routine to the CAN HAL used to offload the majority of the processing from the CAN ISR. This allows the satellite code to receive CAN packets at a much higher rate. - Removed deferred processing and stepper diagnostics from production builds - Added a re-entry counter for the stepper ISR's to the engineering builds - This version of _SAT firmware was built using the following baseline components: Baseline Build #1464 built: Jan. 10, 2000 376: 1.57 06-Jan-2000 * SAT: 1.20 06-Jan-2000 * ERR: 1.08 23-Nov-1999 URT: 1.13 26-Nov-1999 MON: 1.42 25-Nov-1999 UTL: 1.31 13-Dec-1999 * SIF: 1.15 09-Dec-1999 STP: 1.17 06-Jan-2000 * (*) - denotes a changed subsystem Version 1.05 13-Dec-1999 RHIN ----------------------------- - Added unsolicited update support to stepper code - Added output gain control and direction mode control - Stepper controller must be initialized (output gain and direction mode) to be enabled - Added alternate sensor invert mask functionlity - Added unsolicited update support to stepper code - ALICE and PDB Rev A no longer supported - Added PDB Rev C support - Fixed trajectory mode bug - This version of _SAT firmware was built using the following baseline components: Baseline Build #1443 built: Dec. 10, 1999 376: 1.53 08-Dec-1999 * SAT: 1.19 29-Nov-1999 * ERR: 1.08 23-Nov-1999 * URT: 1.13 26-Nov-1999 * MON: 1.42 25-Nov-1999 * UTL: 1.30 09-Dec-1999 * SIF: 1.15 09-Dec-1999 * STP: 1.16 09-Dec-1999 * (*) - denotes a changed subsystem Version 1.04 14-Oct-1999 RHIN/LWIL ---------------------------------- - Potential Tx buffer over-write bugs fixed in the DF1 driver code. - Implememented full dual stepper motor functionality for GENINE board only. - Implemented software timing measurements for the stepper motor ISRs - Changed CA1.BRAKE from CPWM5 pin to TPU0 pin for GENINE board only. - Added CA1.BRAKEOVER (brake override signal) to bit 0 of VR DIR set #4 (0x0109) for GENINE - Changed the way the digital output register AND/OR masks work. Now any non-zero write to the OR or the AND mask will trigger the operation (now done during the CAN interrupt) - Added background hardware checking to terminate the stepper motor when specific signals required for proper operation of the stepper motor (i.e. Cable detects etc.) are not present. - Modified heap memory allocation algorithm slightly - Added CA1.BRAKE, CA0.ENABLE/ and CA0.CLEAR/ outputs to VR DOR set #2 (0x0003) for GENINE - Swapped H/A sensors 0 and 1 to conform with H/W. (GENINE) - Added second Stepper VR set. (0x0720) (GENINE) - Fixed problem on GENINE board were analog inputs were not being read correctly. - Fixed problem on GENINE board were DOR 0x0003 was not writing the correct hardware outputs. - PDB Rev. B firmware was not reading discrete inputs that were on the TPU pins. Fixed by changing TPU DIO function to read input pins on HSRR command. - Fixed bug in reading/setting inputs bits for virtual register 0x0103. (virtual register 0x0103 bit 3 was not being driven) - Fixed bug in DF1 serial port driver Rx state machine that would send a NAK when receiving any 12 byte packet. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1401 built: Oct. 14, 1999 376: 1.41 21-Sep-1999 * SAT: 1.17 13-Oct-1999 * ERR: 1.07 18-May-1999 URT: 1.12 11-Jun-1999 MON: 1.38 04-Oct-1999 * UTL: 1.27 11-Oct-1999 * SIF: 1.08 01-Oct-1999 * STP: 1.12 13-Oct-1999 * (*) - denotes a changed subsystem - KNOWN BUG: The trajectory mode operation of the stepper motor has a bug in it which causes extra steps to be added to the end of a trajectory follow move. - KNOWN BUG: The stepper motor driver on the ALICE board does not work (the background hardware checking routine is preventing it). Version 1.03 12-Aug-1999 LWIL/RHIN ---------------------------------- - The overflow interrupt for the CTM4 FCSM12 timer is now used to provide a greater timing duration for internal firmware timing measurements. This interrupt now occurs every 6.5msec. (at low priority) This feature is only used internally in the firmware, and has no external functional effect. - Added support for the new PDB Rev 'B' hardware. There are now two separate PDB firmware binaries: PDBFMW.BIN - use for PDB Rev. 'B', and PDBFMW_A.BIN use for PDB Rev. 'A' (original prototype PDB boards) - Added Support for the GENINE I/O board. - Moved hardware specific stepper motor functionality to the SAT board subsystem (internal firmware changes only - no functional changes) - ALICE Digital Output Register 0x0000, bits 27,28 no longer drives DRV.EN or CA.ENABLE signals. These are handled internally by the firmware. - PDB Rev 'A' Digital Output Register 0x0000, bits 6,7 no longer drives STEP_BRAKE or DRV.EN/ signals. These are handled internally by the firmware. - PDB Rev 'B' Digital Output Register 0x0000, bit 7 no longer drives STEP_BRAKE signal. It is handled internally by the firmware. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1353 built: Aug. 12, 1999 376: 1.39 30-Jul-1999 * SAT: 1.15 09-Aug-1999 * ERR: 1.07 18-May-1999 URT: 1.12 11-Jun-1999 MON: 1.35 28-Jul-1999 UTL: 1.25 28-Jul-1999 SIF: 1.07 13-Jul-1999 STP: 1.11 09-Aug-1999 * (*) - denotes a changed subsystem Version 1.02 30-July-1999 LWIL ------------------------------ - Fixed bug in DF1 serial port drivers where if the BCC value was 00, it was not being transmitted. The DF1 driver would then no longer function. - The remote serial (DF1) access feature will no longer send out SCON Virtual Read/Write request messages to the serial host. Previously it was 'echoing' these types of SCON packets back to the host for access to remote CAN I/O boards. - The DF1 Receiver state machine has improved error detection. - Stepping Motor Subsystem (STP) changes: o Added multiple position (home and away) sensor functionality o Added a default H/W configuration for unknown board types (does nothing) - This version of _SAT firmware was built using the following baseline components: Baseline Build #1344 built: July 30, 1999 376: 1.38 29-Jul-1999 SAT: 1.12 06-Jul-1999 ERR: 1.07 18-May-1999 URT: 1.12 11-Jun-1999 MON: 1.35 28-Jul-1999 UTL: 1.25 28-Jul-1999 SIF: 1.07 13-Jul-1999 STP: 1.09 28-Jul-1999 Version 1.01 23-July-1999 LWIL ------------------------------ - Added remote serial access support over the diagnostic serial port at 9600 baud. This is done with the full-duplex DF1 binary protocol running ta 9600 baud. There are two new commands used to enable this new feature: "sat remote gateway CR" - Allows access to local I/O board and other I/O boards on the CAN bus behind the local I/O board. NOTE: You MUST have at least one other I/O board running on the CAN bus for this mode to work. "sat remote local CR" - Allows access to the local I/O board only. CAN bus controller is disabled. Use this mode when there are no other CAN I/O boards attached to the local I/O board. - The WIN32 version of the firmware will now accept the 'Creo^M" password string and signon. - This version of _SAT firmware was built using the following baseline components: Baseline Build #1339 built: July 23, 1999 376: 1.37 22-Jul-1999 SAT: 1.12 06-Jul-1999 ERR: 1.07 18-May-1999 URT: 1.12 11-Jun-1999 MON: 1.34 07-Jul-1999 UTL: 1.22 22-Jun-1999 SIF: 1.07 13-Jul-1999 STP: 1.08 09-Jul-1999 Version 1.00 12-July-1999 LWIL ------------------------------ - First released version of the Satellite firmware. - Does not support serial port(s) as remote I/O devices. - Scans I/O at 10msec rate. - Diagnostic serial port operates at 9600 baud. (not 57600) Requires the input string 'Creo^M' (^M means a CR) before it will print monitor signon message, and then accept diagnostic monitor commands. (do not enter the ') - The baud rate of the diagnostic serial port can be changed with the 'sat baud nnnnn' command. (nnnnn = numerical decimal baud rate desired) - This version of _SAT firmware was built using the following baseline components: Baseline Build #1330 built: July 12, 1999 376: 1.33 08-Jul-1999 SAT: 1.12 06-Jul-1999 ERR: 1.07 18-May-1999 URT: 1.12 11-Jun-1999 MON: 1.34 07-Jul-1999 UTL: 1.22 22-Jun-1999 SIF: 1.06 06-Jul-1999 STP: 1.08 09-Jul-1999 Version 1.00 04-June-1999 LWIL ------------------------------ - Can read/write virtual registers via local monitor command and via the Can bus. (use the sif read|write commands on ALICE/MCE) - I/O Scanner is now working. Can read digital/analog inputs, and write digital outputs. Virtual Registers are created in ram on startup. - Added monitor commands "sat", "spi", & "adc".