const static ec_pdo_entry_reg_t domain1_regs[] = { /* outputs */ {0, 0, 0x0000009A, 0x00030924, 0x607a, 0, &off_TargetPosition}, {0, 0, 0x0000009A, 0x00030924, 0x60ff, 0, &off_TargetVelocity}, {0, 0, 0x0000009A, 0x00030924, 0x6071, 0, &off_TargetTorque}, {0, 0, 0x0000009A, 0x00030924, 0x6072, 0, &off_MaxTorque}, {0, 0, 0x0000009A, 0x00030924, 0x6040, 0, &off_ctl_word}, {0, 0, 0x0000009A, 0x00030924, 0x6060, 0, &off_ModeOfOperation}, {0, 0, 0x0000009A, 0x00030924, 0x60fe, 1, &off_DigitalOutput}, /* inputs */ {0, 0, 0x0000009A, 0x00030924, 0x6064, 0, &off_position_value}, {0, 0, 0x0000009A, 0x00030924, 0x60fd, 0, &off_DigitalInputs}, {0, 0, 0x0000009A, 0x00030924, 0x6041, 0, &off_status}, {} }; ec_pdo_entry_info_t slave_0_pdo_entries[] = { /* RxPdo 0x1605 */ {0x607a, 0x00, 32}, /* target position */ {0x60ff, 0x00, 32}, /* target velocity */ {0x6071, 0x00, 16}, /* target torque */ {0x6072, 0x00, 16}, /* max. torque */ {0x6040, 0x00, 16}, /* control word */ {0x6060, 0x00, 8}, /* mode of operation */ /* RxPdo 0x161d */ {0x60fe, 0x01, 32}, /* digital outputs */ /* TxPdo 0x1a00 */ {0x6064, 0x00, 32}, /* position actual value */ {0x60fd, 0x00, 32}, /* digital inputs */ {0x6041, 0x00, 16}, /* status word */ }; ec_pdo_info_t slave_0_pdos[] = { {0x1605, 6, slave_0_pdo_entries + 0}, {0x161d, 1, slave_0_pdo_entries + 6}, {0x1a00, 3, slave_0_pdo_entries + 7}, }; ec_sync_info_t slave_0_syncs[] = { {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE}, {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE}, {2, EC_DIR_OUTPUT, 2, slave_0_pdos + 0, EC_WD_ENABLE}, {3, EC_DIR_INPUT, 1, slave_0_pdos + 2, EC_WD_DISABLE}, {0xff} }; if ( !(sc_elmo = ecrt_master_slave_config(master, 0, 0, 0x0000009A, 0x00030924)) )