User Tools

Site Tools


the_quimdc_object_dictionary

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
the_quimdc_object_dictionary [2022/11/03 19:09] – Add new functions documentation pdekeyzerthe_quimdc_object_dictionary [2023/01/25 13:19] – [O.D. layout] Add gpio publish freq pdekeyzer
Line 26: Line 26:
 | 0x1000 | 0         | RO        | UINT32 | Device type                              | | 0x1000 | 0         | RO        | UINT32 | Device type                              |
 | 0x1010 | 0         | WO        | VOID   | Save parameters to flash                 | | 0x1010 | 0         | WO        | VOID   | Save parameters to flash                 |
 +| 0x1011 | 0         | WO        | VOID   | Load parameters from flash                 |
 +| 0x411A | 0         | WO        | VOID   | Erase flash                 |
 | 0x2000 | 0         | RW        | INT32  | Motor Watchdog (ms)               | | 0x2000 | 0         | RW        | INT32  | Motor Watchdog (ms)               |
 | 0x2040 | 1         | RO        | INT32  | Current Motor 1 (mA)         | | 0x2040 | 1         | RO        | INT32  | Current Motor 1 (mA)         |
 | :::    | 2         | RO        | INT32  | Current Motor 2 (mA)         | | :::    | 2         | RO        | INT32  | Current Motor 2 (mA)         |
 +| 0x200C | 0         | RW        | INT32  | Emergency stop (uint8_t flag_id)               |
 | 0x3333 | 0         | RW        | INT32  | Operational Mode Manager (0 => leave, 1 => enter)    | | 0x3333 | 0         | RW        | INT32  | Operational Mode Manager (0 => leave, 1 => enter)    |
 | 0x4000 | 1         | RW        | INT32  | Speed PID, P Motor 1                     | | 0x4000 | 1         | RW        | INT32  | Speed PID, P Motor 1                     |
Line 66: Line 69:
 | 0x4025 | 1         | RW        | INT32  | Position PID, Anti Wu Limit Motor 1                 | | 0x4025 | 1         | RW        | INT32  | Position PID, Anti Wu Limit Motor 1                 |
 | :::    | 2         | RW        | INT32  | Position PID, Anti Wu Limit Motor 2                 | | :::    | 2         | RW        | INT32  | Position PID, Anti Wu Limit Motor 2                 |
-| 0x4100 | 1         | RW        | FLOAT32| Resistance Motor 1 (Ohm)                 | +| 0x4100 | 1         | RW        | FLOAT32| Resistance Motor 1 (mOhm)                 | 
-| :::    | 2         | RW        | FLOAT32| Resistance Motor 2 (Ohm)                 |+| :::    | 2         | RW        | FLOAT32| Resistance Motor 2 (mOhm)                 |
 | 0x4101 | 1         | RW        | FLOAT32| Kv Motor 1 (Rpm/V)                       | | 0x4101 | 1         | RW        | FLOAT32| Kv Motor 1 (Rpm/V)                       |
 | :::    | 2         | RW        | FLOAT32| Kv Motor 2 (Rpm/V)                       | | :::    | 2         | RW        | FLOAT32| Kv Motor 2 (Rpm/V)                       |
 | 0x4102 | 1         | RW        | INT32  | Ticks per Turn Motor 1 (Tick/Turn)       | | 0x4102 | 1         | RW        | INT32  | Ticks per Turn Motor 1 (Tick/Turn)       |
 | :::    | 2         | RW        | INT32  | Ticks per Turn Motor 2 (Tick/Turn)       | | :::    | 2         | RW        | INT32  | Ticks per Turn Motor 2 (Tick/Turn)       |
-| 0x4103 | 1         | RW        | FLOAT32| Nominal Voltage Motor 1 (V)                  | +| 0x4103 | 1         | RW        | INT32  | Nominal Voltage Motor 1 (mV)                  | 
-| :::    | 2         | RW        | FLOAT32| Nominal Voltage Motor 2 (V)                  | +| :::    | 2         | RW        | INT32  | Nominal Voltage Motor 2 (mV)                  | 
-| 0x4106 | 1         | RW        | INT32  | BEMF Compensation Motor 1 (0/1                | +| 0x4105 | 1         | RW        | INT32  | Position speed period Motor 1 (ms)                  | 
-| :::    | 2         | RW        | INT32  | BEMF Compensation Motor 2 (0/1                 |+| :::    | 2         | RW        | INT32  | Position speed period Motor 2 (ms)                  | 
 +| 0x4106 | 1         | RW        | INT32  | BEMF Compensation Motor 1 [0/1                | 
 +| :::    | 2         | RW        | INT32  | BEMF Compensation Motor 2 [0/1                 |
 | 0x4107 | 1         | RW        | INT32  | Minimal Speed Motor 1 (Ticks/second)                  | | 0x4107 | 1         | RW        | INT32  | Minimal Speed Motor 1 (Ticks/second)                  |
 | :::    | 2         | RW        | INT32  | Minimal Speed Motor 2 (Ticks/second)                  | | :::    | 2         | RW        | INT32  | Minimal Speed Motor 2 (Ticks/second)                  |
-| 0x4108 | 1         | RW        | INT32  | Free Wheel GPIO ID Motor 1 (see table above)                 | +| 0x4108 | 1         | RW        | INT32  | Free Wheel GPIO ID Motor 1 [0,5] (see table above)                 | 
-| :::    | 2         | RW        | INT32  | Free Wheel GPIO ID Motor 2 (see table above)                  | +| :::    | 2         | RW        | INT32  | Free Wheel GPIO ID Motor 2 [0,5] (see table above)                  | 
-| 0x4109 | 1         | RW        | INT32  | Homing GPIO ID Motor 1 (see table above)                  +| 0x4109 | 1         | RW        | INT32  | Homing GPIO ID Motor 1 [0,5] (see table above)             
-| :::    | 2         | RW        | INT32  | Homing GPIO ID Motor 2 (see table above)                 | +| :::    | 2         | RW        | INT32  | Homing GPIO ID Motor 2 [0,5](see table above)                 | 
-| 0x410A | 1         | RW        | INT32  | Positive limit switch GPIO ID Motor 1 (see table above)                   +| 0x410A | 1         | RW        | INT32  | Positive limit switch GPIO ID Motor 1 [0,5] (see table above)| 
-| :::    | 2         | RW        | INT32  | Positive limit switch GPIO ID Motor 2 (see table above)                   +| :::    | 2         | RW        | INT32  | Positive limit switch GPIO ID Motor 2 [0,5] (see table above)| 
-| 0x410B | 1         | RW        | INT32  | Negative limit switch GPIO ID Motor 1 (see table above)                   +| 0x410B | 1         | RW        | INT32  | Negative limit switch GPIO ID Motor 1 [0,5] (see table above)| 
-| :::    | 2         | RW        | INT32  | Negative limit switch GPIO ID Motor 2 (see table above)                   +| :::    | 2         | RW        | INT32  | Negative limit switch GPIO ID Motor 2 [0,5] (see table above)| 
-| 0x410C | 1         | RW        | INT32  | Positive limit switch GPIO inversion Motor 1 (0/1)                  +| 0x410C | 1         | RW        | INT32  | Positive limit switch GPIO inversion Motor 1 [0/1]
-| :::    | 2         | RW        | INT32  | Positive limit switch GPIO inversion Motor 2 (0/1)                  +| :::    | 2         | RW        | INT32  | Positive limit switch GPIO inversion Motor 2 [0/1]
-| 0x410D | 1         | RW        | INT32  | Negative limit switch GPIO inversion Motor 1 (0/1)                  +| 0x410D | 1         | RW        | INT32  | Negative limit switch GPIO inversion Motor 1 [0/1]
-| :::    | 2         | RW        | INT32  | Negative limit switch GPIO inversion Motor 2 (0/1)                  +| :::    | 2         | RW        | INT32  | Negative limit switch GPIO inversion Motor 2 [0/1]
-| 0x410E | 1         | RW        | INT32  | Homing GPIO inversion Motor 1 (0/1                 | +| 0x410E | 1         | RW        | INT32  | Homing GPIO inversion Motor 1 [0/1                 | 
-| :::    | 2         | RW        | INT32  | Homing GPIO inversion Motor 2 (0/1                 |+| :::    | 2         | RW        | INT32  | Homing GPIO inversion Motor 2 [0/1                 |
 | 0x410F | 1         | RW        | INT32  | Max Position error Motor 1 (Ticks)                  | | 0x410F | 1         | RW        | INT32  | Max Position error Motor 1 (Ticks)                  |
 | :::    | 2         | RW        | INT32  | Max Position error Motor 2 (Ticks)                  | | :::    | 2         | RW        | INT32  | Max Position error Motor 2 (Ticks)                  |
-| 0x4110 | 1         | RW        | INT32  | PWM Offset Motor 1                   +| 0x4110 | 1         | RW        | INT32  | PWM Offset Motor 1  [-128, 128]            
-| :::    | 2         | RW        | INT32  | PWM Offset Motor 2                   |+| :::    | 2         | RW        | INT32  | PWM Offset Motor 2  [-128, 128]          |
 | 0x4111 | 1         | RW        | INT32  | Acceleration Period Motor 1 (Seconds)                  | | 0x4111 | 1         | RW        | INT32  | Acceleration Period Motor 1 (Seconds)                  |
 | :::    | 2         | RW        | INT32  | Acceleration Period Motor 2 (Seconds)                  | | :::    | 2         | RW        | INT32  | Acceleration Period Motor 2 (Seconds)                  |
Line 112: Line 117:
 | 0x4118 | 1         | WO        | INT32  | Do Homing on Motor 1 with indicated speed (Ticks/second)| | 0x4118 | 1         | WO        | INT32  | Do Homing on Motor 1 with indicated speed (Ticks/second)|
 | :::    | 2         | WO        | INT32  | Do Homing on Motor 2 with indicated speed (Ticks/second)| | :::    | 2         | WO        | INT32  | Do Homing on Motor 2 with indicated speed (Ticks/second)|
 +| 0x4119 | 1         | RW        | INT32  | Set Ref PWM Motor 1[-128,128]|
 +| :::    | 2         | RW        | INT32  | Set Ref PWM Motor 2[-128,128]|
 +| 0x4200 | 1         | RO        | INT32  | Read position reached Motor 1 (See note below) |
 +| :::    | 2         | RO        | INT32  | Read position reached Motor 2 (See note below) |
 +| 0x4202 | 1         | RO        | INT32  | Read GPIO values (See note below) |
 | 0x6010 | 1         | RO        | INT32  | Digital Input External Encoder 1            | | 0x6010 | 1         | RO        | INT32  | Digital Input External Encoder 1            |
 | :::    | 2         | RO        | INT32  | Digital Input External Encoder 2            | | :::    | 2         | RO        | INT32  | Digital Input External Encoder 2            |
-| 0x6011 | 0         | RO        | INT32  | Read Level of GPIO CA_R (0/1)                | +| 0x6011 | 0         | RO        | INT32  | Read Level of GPIO CA_R                | 
-| :::    | 1         | RO        | INT32  | Read Level of GPIO CA_L (0/1)      +| :::    | 1         | RO        | INT32  | Read Level of GPIO CA_L       
-| :::    | 2         | RO        | INT32  | Read Level of GPIO CB_R (0/1)     | +| :::    | 2         | RO        | INT32  | Read Level of GPIO CB_R     | 
-| :::    | 3         | RO        | INT32  | Read Level of GPIO CB_L (0/1)      +| :::    | 3         | RO        | INT32  | Read Level of GPIO CB_L     
-| :::    | 4         | RO        | INT32  | Read Level of GPIO CQR  (0/1)    | +| :::    | 4         | RO        | INT32  | Read Level of GPIO CQR    | 
-| :::    | 5         | RO        | INT32  | Read Level of GPIO CQL  (0/1)     | +| :::    | 5         | RO        | INT32  | Read Level of GPIO CQL     | 
-| 0x6012 |         | RO        | INT32  | Read motor driver fault status (0/1)        +| 0x6012 |         | RO        | INT32  | Read motor driver fault status [0]       
-| 0x6013 |         | WO        | INT32  | Put board to sleep (0/1)           +| 0x6013 |         | WO        | INT32  | Put board to sleep [1]          
-| 0x6014 |         | WO        | INT32  | Reset board (0/1)            +| 0x6014 |         | WO        | INT32  | Reset board [1]           
-| 0x6015 |         | WO        | INT32  | Reset motor driver (0/1                |+| 0x6015 |         | WO        | INT32  | Reset motor driver [1                |
 | 0x6060 | 1         | RW        | INT32  | Control Loop Function Motor 1            | | 0x6060 | 1         | RW        | INT32  | Control Loop Function Motor 1            |
 | :::    | 2         | RW        | INT32  | Control Loop Function Motor 2            | | :::    | 2         | RW        | INT32  | Control Loop Function Motor 2            |
Line 134: Line 144:
 | 0x607E | 1         | RW        | INT32  | Polarity Motor 1 (Tick)         | | 0x607E | 1         | RW        | INT32  | Polarity Motor 1 (Tick)         |
 | :::    | 2         | RW        | INT32  | Polarity Motor 2 (Tick)         | | :::    | 2         | RW        | INT32  | Polarity Motor 2 (Tick)         |
-| 0x60F0 | 1         | RW        | INT32  | PWM Motor 1 ([-128, 128])         | 
-| :::    | 2         | RW        | INT32  | PWM Motor 2 ([-128, 128])         | 
 | 0x607F | 1         | RW        | INT32  | Pwm Duty Max 1 ([0, 127])         | | 0x607F | 1         | RW        | INT32  | Pwm Duty Max 1 ([0, 127])         |
 | :::    | 2         | RW        | INT32  | Pwm Duty Max 2 ([0, 127])         | | :::    | 2         | RW        | INT32  | Pwm Duty Max 2 ([0, 127])         |
 | 0x6080 | 1         | WO        | INT32  | Reset Position Motor 1 [0]         | | 0x6080 | 1         | WO        | INT32  | Reset Position Motor 1 [0]         |
 | :::    | 2         | WO        | INT32  | Reset Position Motor 2 [0]         | | :::    | 2         | WO        | INT32  | Reset Position Motor 2 [0]         |
 +| 0x60F0 | 1         | RW        | INT32  | PWM Motor 1 ([-128, 128])         |
 +| :::    | 2         | RW        | INT32  | PWM Motor 2 ([-128, 128])         |
 | 0x60FF | 1         | RW        | INT32  | Reference/Target Speed Motor 1 (Tick/s)         | | 0x60FF | 1         | RW        | INT32  | Reference/Target Speed Motor 1 (Tick/s)         |
 | :::    | 2         | RW        | INT32  | Reference/Target Speed Motor 2 (Tick/s)         | | :::    | 2         | RW        | INT32  | Reference/Target Speed Motor 2 (Tick/s)         |
 | 0x6100 | 1         | RO        | INT32  | Motor Speed 1 (Tick/s)         | | 0x6100 | 1         | RO        | INT32  | Motor Speed 1 (Tick/s)         |
 | :::    | 2         | RO        | INT32  | Motor Speed 2 (Tick/s)         | | :::    | 2         | RO        | INT32  | Motor Speed 2 (Tick/s)         |
 +| 0x6200 | 1         | RW        | INT32  | GPIO PDO publish freq (Hz)         |
 +
 +==== Notes ====
  
 +As the entry 0x4200 (Read position reached) is essentially designed to be used for PDOs, it has a specific structure
 +^ Byte 0  ^ Byte 1 ^ Byte 2 ^ Byte 3 ^ Byte 4 ^ Byte 5 ^ Byte 6 ^ Byte 7 ^
 +| position reached (0/1) | 0x00 | 0x00 |  Position in ticks  |||||
  
 +The entry 0x4202 PDO structure is the following:
 +^ Byte 0  ^ Byte 1 ^ Byte 2 ^ Byte 3 ^ Byte 4 ^ Byte 5 ^ Byte 6 ^ Byte 7 ^
 +| Motor 1 positive limit switch level (0/1) | Motor 1 negative limit switch level (0/1) | Motor 1 homing limit switch level (0/1) |  Motor 2 positive limit switch level (0/1)  | Motor 2 negative limit switch level (0/1) | Motor 2 homing limit switch level (0/1) | 0x00 | 0x00 |
the_quimdc_object_dictionary.txt · Last modified: 2023/02/09 12:09 by pdekeyzer