Difference between revisions of "PFCMD PY"
From DIDEAS Wiki
m |
m |
||
Line 2: | Line 2: | ||
= user apps = | = user apps = | ||
− | + | ==do_command.py== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <pre> | |
− | + | do_command.py -h : | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | Options: |
− | + | -h, --help show this help message and exit | |
− | + | -i IP_ADDRESS, --ip_address=IP_ADDRESS | |
+ | make a TCP connection to the specified IP (instead of | ||
+ | using serial) | ||
+ | -P PORT, --port=PORT port number for TCP connections. | ||
+ | -c COM_PORT, -p COM_PORT, --com_port=COM_PORT | ||
+ | COM PORT number for serial port connection | ||
+ | -b BAUDRATE, --baud_rate=BAUDRATE | ||
+ | baurdrate when using serial port (default is 115200) | ||
+ | -g GET_TYPE get IO channels : options are [ai, di, ao, do] | ||
+ | --suffix=SPECIAL_COMMAND_SUFFIX | ||
+ | suffix for special commands (thus variations on the | ||
+ | special commands can be used.) | ||
+ | -D REPEAT_DELAY, --delay=REPEAT_DELAY | ||
+ | special command repeat delay in milliseconds | ||
+ | -v GET_VERSION, --version=GET_VERSION | ||
+ | execute the version command on each of the specified | ||
+ | platforms. Eg -v smi does all platforms. | ||
+ | -n REPEAT_COUNT, --repeat_count=REPEAT_COUNT | ||
+ | number of times to repeat the supplied special | ||
+ | command(s) | ||
+ | -T, --set_time use the PC time to set the robot clock | ||
+ | -X, --hex_mode display the special command results in hex | ||
+ | -F, --float_mode interpret the data from the special command as | ||
+ | floating point numbers | ||
+ | -f LOG_FILE_NAME, --file_name=LOG_FILE_NAME | ||
+ | log the results to a file. | ||
+ | -S STRUCT_STRING, --struct_string=STRUCT_STRING | ||
+ | use struct.unpack(STRUT_STRING, data) to process the | ||
+ | result of the special command. Eg -S =10L | ||
+ | -R READ_ADDRESS, --read_address=READ_ADDRESS | ||
+ | read memory from address (int or hex) | ||
+ | -W WRITE_ADDRESS, --write_address=WRITE_ADDRESS | ||
+ | write data to address (int or hex) | ||
+ | -d DATA_FILENAME, --data_filename=DATA_FILENAME | ||
+ | text file source for data that is written. file should | ||
+ | contain numbers (UINT8_T) separated with a char from | ||
+ | [,;:= ]. these numbers will be turned into a | ||
+ | bytestream for use with memory write. | ||
+ | -L READ_LENGTH, --read_length=READ_LENGTH | ||
+ | length of memory buffer to read | ||
+ | -M MEMORY_TYPE, --memory_type=MEMORY_TYPE | ||
+ | numeric code to specify the memory type and platform | ||
+ | for read and write. Use -H for a list. | ||
+ | -s, --special -s N [arg1, ... ] issue special command N with | ||
+ | arguments. Args may be negative, and multiple | ||
+ | commands may be issued by repeating the -s | ||
+ | -V, --write_data list of SPACE separated values available for memory | ||
+ | write command. Eg -V 1 2 3 | ||
+ | -H, --memory_type_help | ||
+ | list the ID numbers for various robot memory types. | ||
+ | </pre> | ||
− | = | + | <pre> |
− | * | + | HOSTCMD_SC_RAM_MEM_TYPE 1 |
− | * | + | HOSTCMD_SC_FLASH_MEM_TYPE 2 |
− | + | HOSTCMD_SC_MFG_EEPROM_MEM_TYPE 3 | |
− | * | + | HOSTCMD_SC_USR_EEPROM_MEM_TYPE 4 |
− | + | HOSTCMD_MC_RAM_MEM_TYPE 5 | |
− | * | + | HOSTCMD_MC_FLASH_MEM_TYPE 6 |
− | + | HOSTCMD_IMU_RAM_MEM_TYPE 11 | |
− | * | + | HOSTCMD_IMU_FLASH_MEM_TYPE 12 |
− | + | HOSTCMD_IMU_MFG_EEPROM_MEM_TYPE 13 | |
− | * | + | HOSTCMD_IMU_USR_EEPROM_MEM_TYPE 14 |
− | + | </pre> | |
+ | |||
+ | ===examples=== | ||
+ | *Using two special commands, each 10 times to read the SC and MC state: | ||
+ | do_command.py -p <COM PORT> -n 10 -s 104 -s 1420 | ||
+ | *Read IMU data and display as a float: | ||
+ | do_command.py -p <COM PORT> -F -s 2025 | ||
+ | *Read IMU and run through a strut string to produce 4 ints, 4 longs, and 4 floats (length = 40) | ||
+ | do_command.py -p <COM PORT> -S =4h4L4F -s 2030 | ||
+ | *Read 512 bytes of IMU FLASH memory at address 4096: | ||
+ | do_command.py -p <COM PORT> -L 0x200 -R 0x1000 -M 12 | ||
+ | *Write 3 bytes ('A','B','C') to SC USR EEPROM at address 0xff0, then read it back | ||
+ | do_command.py -p <COM PORT> -W 0xff0 -V 65 66 67 -M 4 -R 0xff0 | ||
+ | *Write a list of numbers from a file to SC USR_EEPROM | ||
+ | do_command.py -p <COM PORT> -W 0xff0 -d eeprom_data.txt -M 4 -R 0xff0 |
Revision as of 02:29, 29 November 2010
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
user apps
do_command.py
do_command.py -h : Options: -h, --help show this help message and exit -i IP_ADDRESS, --ip_address=IP_ADDRESS make a TCP connection to the specified IP (instead of using serial) -P PORT, --port=PORT port number for TCP connections. -c COM_PORT, -p COM_PORT, --com_port=COM_PORT COM PORT number for serial port connection -b BAUDRATE, --baud_rate=BAUDRATE baurdrate when using serial port (default is 115200) -g GET_TYPE get IO channels : options are [ai, di, ao, do] --suffix=SPECIAL_COMMAND_SUFFIX suffix for special commands (thus variations on the special commands can be used.) -D REPEAT_DELAY, --delay=REPEAT_DELAY special command repeat delay in milliseconds -v GET_VERSION, --version=GET_VERSION execute the version command on each of the specified platforms. Eg -v smi does all platforms. -n REPEAT_COUNT, --repeat_count=REPEAT_COUNT number of times to repeat the supplied special command(s) -T, --set_time use the PC time to set the robot clock -X, --hex_mode display the special command results in hex -F, --float_mode interpret the data from the special command as floating point numbers -f LOG_FILE_NAME, --file_name=LOG_FILE_NAME log the results to a file. -S STRUCT_STRING, --struct_string=STRUCT_STRING use struct.unpack(STRUT_STRING, data) to process the result of the special command. Eg -S =10L -R READ_ADDRESS, --read_address=READ_ADDRESS read memory from address (int or hex) -W WRITE_ADDRESS, --write_address=WRITE_ADDRESS write data to address (int or hex) -d DATA_FILENAME, --data_filename=DATA_FILENAME text file source for data that is written. file should contain numbers (UINT8_T) separated with a char from [,;:= ]. these numbers will be turned into a bytestream for use with memory write. -L READ_LENGTH, --read_length=READ_LENGTH length of memory buffer to read -M MEMORY_TYPE, --memory_type=MEMORY_TYPE numeric code to specify the memory type and platform for read and write. Use -H for a list. -s, --special -s N [arg1, ... ] issue special command N with arguments. Args may be negative, and multiple commands may be issued by repeating the -s -V, --write_data list of SPACE separated values available for memory write command. Eg -V 1 2 3 -H, --memory_type_help list the ID numbers for various robot memory types.
HOSTCMD_SC_RAM_MEM_TYPE 1 HOSTCMD_SC_FLASH_MEM_TYPE 2 HOSTCMD_SC_MFG_EEPROM_MEM_TYPE 3 HOSTCMD_SC_USR_EEPROM_MEM_TYPE 4 HOSTCMD_MC_RAM_MEM_TYPE 5 HOSTCMD_MC_FLASH_MEM_TYPE 6 HOSTCMD_IMU_RAM_MEM_TYPE 11 HOSTCMD_IMU_FLASH_MEM_TYPE 12 HOSTCMD_IMU_MFG_EEPROM_MEM_TYPE 13 HOSTCMD_IMU_USR_EEPROM_MEM_TYPE 14
examples
- Using two special commands, each 10 times to read the SC and MC state:
do_command.py -p <COM PORT> -n 10 -s 104 -s 1420
- Read IMU data and display as a float:
do_command.py -p <COM PORT> -F -s 2025
- Read IMU and run through a strut string to produce 4 ints, 4 longs, and 4 floats (length = 40)
do_command.py -p <COM PORT> -S =4h4L4F -s 2030
- Read 512 bytes of IMU FLASH memory at address 4096:
do_command.py -p <COM PORT> -L 0x200 -R 0x1000 -M 12
- Write 3 bytes ('A','B','C') to SC USR EEPROM at address 0xff0, then read it back
do_command.py -p <COM PORT> -W 0xff0 -V 65 66 67 -M 4 -R 0xff0
- Write a list of numbers from a file to SC USR_EEPROM
do_command.py -p <COM PORT> -W 0xff0 -d eeprom_data.txt -M 4 -R 0xff0