Difference between revisions of "PF EEPROM"
From DIDEAS Wiki
m |
m |
||
Line 1: | Line 1: | ||
{{pf_top_nav}} | {{pf_top_nav}} | ||
− | =EEPROM init table = | + | =EEPROM init registry (SC SVN revision > 1611) |
+ | * During boot, the robot loads critical variables from its "init table registry" | ||
+ | * keys are define in : '../StateControl/eeprom_keys.h'; | ||
+ | * the python program "keys.py" uses this file to permit keys to be referenced by name | ||
+ | * at present 16 and 32 bit unsigned int keys are support | ||
+ | * NOTE : python ignores the redundant part of a key name "KEY_" | ||
+ | == UINT16 keys == | ||
+ | *KEY_SERIAL_NUMBER : serial number of the installed SC/MC board : eg 9 | ||
+ | *KEY_RUN_LEVEL : a simpler way to specifying the progress of bringing and demoing a robot | ||
+ | *KEY_FEATURE_BITS : bits the enabled the use of specific features (currently conflicts w/run level) | ||
+ | *KEY_REVISION_NUMBER : serial number of the installed SC/MC board : eg 200 | ||
+ | |||
+ | == UINT32 keys== | ||
+ | *SC_FUP_BAUD : at present unused, but will be used to set the baudrate of the SC FUP port | ||
+ | *MC_FUP_BAUD : at present unused, but will be used to set the baudrate of the SC FUP port | ||
+ | |||
+ | |||
+ | =(tags SPLD3) EEPROM init table = | ||
* The defaults 'feature bits' set in statemachine.h are basically ignored (6-28-09). Although loaded in sm_init.c, they're overwritten in demux_sm - where it reads the the EEPROM init table. | * The defaults 'feature bits' set in statemachine.h are basically ignored (6-28-09). Although loaded in sm_init.c, they're overwritten in demux_sm - where it reads the the EEPROM init table. | ||
Line 7: | Line 24: | ||
* if FEATURE_USE_IMU is set, then after MC is boot (immediately before RUN_TIME), the dataport_select is set to two, and the IMU communications is enabled. | * if FEATURE_USE_IMU is set, then after MC is boot (immediately before RUN_TIME), the dataport_select is set to two, and the IMU communications is enabled. | ||
− | =Problems / Goals= | + | =(PRE SPLD 3) Problems / Goals= |
* need to be able to cleanly specify to boot too. | * need to be able to cleanly specify to boot too. | ||
** great a global called 'run_level'. Each thing that gets turned on has a minimum level. | ** great a global called 'run_level'. Each thing that gets turned on has a minimum level. | ||
* what if a 'needed' table isn't loaded - eg calibration table. | * what if a 'needed' table isn't loaded - eg calibration table. | ||
** possibly this type of error should limit the maximum level of boot capability. eg no calb table, then at most we remain in a mode that will allow for calibration | ** possibly this type of error should limit the maximum level of boot capability. eg no calb table, then at most we remain in a mode that will allow for calibration |
Revision as of 15:30, 31 October 2009
PF Users Navigation:
- PCB; Lifefix_users; Pf_users; benchtest_users; CalibFix Users; Hardware; Assembly ; iochan ;
- PCA : PCB ; AKENC SC/MC 218 ; FET 217 ; IMU219 ; Swifi ; Rev200_mods ; PCA Inventory
- Special Commands to the Ankle (PFCMD) : State Controller Commands; Motor Controller Commands; Python Examples; IMU Commands ;PFCMD_PY; Pf_calb_table_py; Virtual spring test; PF EEPROM
- DOC: Pf_users; Powerfoot Keyboard User Interface; Steps for Manual Tuning; "Dashboard" Program For Assisting with Tuning
- NEW (CEB) WIKI
- Torque Feedback Controller Guide
=EEPROM init registry (SC SVN revision > 1611)
- During boot, the robot loads critical variables from its "init table registry"
- keys are define in : '../StateControl/eeprom_keys.h';
- the python program "keys.py" uses this file to permit keys to be referenced by name
- at present 16 and 32 bit unsigned int keys are support
- NOTE : python ignores the redundant part of a key name "KEY_"
Contents
UINT16 keys
- KEY_SERIAL_NUMBER : serial number of the installed SC/MC board : eg 9
- KEY_RUN_LEVEL : a simpler way to specifying the progress of bringing and demoing a robot
- KEY_FEATURE_BITS : bits the enabled the use of specific features (currently conflicts w/run level)
- KEY_REVISION_NUMBER : serial number of the installed SC/MC board : eg 200
UINT32 keys
- SC_FUP_BAUD : at present unused, but will be used to set the baudrate of the SC FUP port
- MC_FUP_BAUD : at present unused, but will be used to set the baudrate of the SC FUP port
(tags SPLD3) EEPROM init table
- The defaults 'feature bits' set in statemachine.h are basically ignored (6-28-09). Although loaded in sm_init.c, they're overwritten in demux_sm - where it reads the the EEPROM init table.
- if FEATURE_MC_CURRENT_UPDATES is NOT SET, then demux_sm skips the states that boot MC through mode 2
- if FEATURE_USE_IMU is set, then after MC is boot (immediately before RUN_TIME), the dataport_select is set to two, and the IMU communications is enabled.
(PRE SPLD 3) Problems / Goals
- need to be able to cleanly specify to boot too.
- great a global called 'run_level'. Each thing that gets turned on has a minimum level.
- what if a 'needed' table isn't loaded - eg calibration table.
- possibly this type of error should limit the maximum level of boot capability. eg no calb table, then at most we remain in a mode that will allow for calibration