Difference between revisions of "PF EEPROM"
From DIDEAS Wiki
m |
m |
||
Line 1: | Line 1: | ||
{{pf_top_nav}} | {{pf_top_nav}} | ||
− | * created @ | + | =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_" | ||
+ | |||
+ | ==Documentation file== | ||
+ | * filename = ../StateControl/eeprom_keys.h | ||
+ | * created @ 2009-10-31 12:01:40 | ||
+ | === EEPROM_KEYS_16_BIT === | ||
+ | *SERIAL_NUMBER : SERIAL NUMBER OF THE INSTALLED SC/MC BOARD : EG 9 | ||
+ | *RUN_LEVEL : A SIMPLER WAY TO SPECIFYING THE PROGRESS OF BRINGING AND DEMOING A ROBOT | ||
+ | *FEATURE_BITS : BITS THE ENABLED THE USE OF SPECIFIC FEATURES (CURRENTLY CONFLICTS W/RUN LEVEL) | ||
+ | *REVISION_NUMBER : SERIAL NUMBER OF THE INSTALLED SC/MC BOARD : EG 200 | ||
+ | === EEPROM_KEYS_32_BIT === | ||
+ | *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 = | =(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. |
Revision as of 16:03, 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
Contents
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_"
Documentation file
- filename = ../StateControl/eeprom_keys.h
- created @ 2009-10-31 12:01:40
EEPROM_KEYS_16_BIT
- SERIAL_NUMBER : SERIAL NUMBER OF THE INSTALLED SC/MC BOARD : EG 9
- RUN_LEVEL : A SIMPLER WAY TO SPECIFYING THE PROGRESS OF BRINGING AND DEMOING A ROBOT
- FEATURE_BITS : BITS THE ENABLED THE USE OF SPECIFIC FEATURES (CURRENTLY CONFLICTS W/RUN LEVEL)
- REVISION_NUMBER : SERIAL NUMBER OF THE INSTALLED SC/MC BOARD : EG 200
EEPROM_KEYS_32_BIT
- 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