PF EEPROM
From DIDEAS Wiki
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 @ Date_091031_120037
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