master/slave_config.c
changeset 1115 b7b965ab94cd
parent 1097 f974ced181f3
child 1145 133cf4631fcc
equal deleted inserted replaced
1114:809f1b16ee7c 1115:b7b965ab94cd
   618         uint8_t subindex, const uint8_t *data, size_t size)
   618         uint8_t subindex, const uint8_t *data, size_t size)
   619 {
   619 {
   620     ec_slave_t *slave = sc->slave;
   620     ec_slave_t *slave = sc->slave;
   621     ec_sdo_request_t *req;
   621     ec_sdo_request_t *req;
   622 
   622 
       
   623     if (sc->master->debug_level)
       
   624         EC_DBG("ecrt_slave_config_sdo(sc = 0x%x, index = 0x%04X, "
       
   625                 "subindex = 0x%02X, data = 0x%x, size = %u)\n", (u32) sc,
       
   626                 index, subindex, (u32) data, size);
       
   627 
   623     if (slave && !(slave->sii.mailbox_protocols & EC_MBOX_COE)) {
   628     if (slave && !(slave->sii.mailbox_protocols & EC_MBOX_COE)) {
   624         EC_ERR("Slave %u does not support CoE!\n", slave->ring_position);
   629         EC_ERR("Slave %u does not support CoE!\n", slave->ring_position);
   625         return -1;
   630         return -1;
   626     }
   631     }
   627 
   632 
   651 
   656 
   652 int ecrt_slave_config_sdo8(ec_slave_config_t *sc, uint16_t index,
   657 int ecrt_slave_config_sdo8(ec_slave_config_t *sc, uint16_t index,
   653         uint8_t subindex, uint8_t value)
   658         uint8_t subindex, uint8_t value)
   654 {
   659 {
   655     uint8_t data[1];
   660     uint8_t data[1];
       
   661 
       
   662     if (sc->master->debug_level)
       
   663         EC_DBG("ecrt_slave_config_sdo8(sc = 0x%x, index = 0x%04X, "
       
   664                 "subindex = 0x%02X, value = %u)\n", (u32) sc,
       
   665                 index, subindex, (u32) value);
       
   666 
   656     EC_WRITE_U8(data, value);
   667     EC_WRITE_U8(data, value);
   657     return ecrt_slave_config_sdo(sc, index, subindex, data, 1);
   668     return ecrt_slave_config_sdo(sc, index, subindex, data, 1);
   658 }
   669 }
   659 
   670 
   660 /*****************************************************************************/
   671 /*****************************************************************************/
   661 
   672 
   662 int ecrt_slave_config_sdo16(ec_slave_config_t *sc, uint16_t index,
   673 int ecrt_slave_config_sdo16(ec_slave_config_t *sc, uint16_t index,
   663         uint8_t subindex, uint16_t value)
   674         uint8_t subindex, uint16_t value)
   664 {
   675 {
   665     uint8_t data[2];
   676     uint8_t data[2];
       
   677 
       
   678     if (sc->master->debug_level)
       
   679         EC_DBG("ecrt_slave_config_sdo16(sc = 0x%x, index = 0x%04X, "
       
   680                 "subindex = 0x%02X, value = %u)\n", (u32) sc,
       
   681                 index, subindex, value);
       
   682 
   666     EC_WRITE_U16(data, value);
   683     EC_WRITE_U16(data, value);
   667     return ecrt_slave_config_sdo(sc, index, subindex, data, 2);
   684     return ecrt_slave_config_sdo(sc, index, subindex, data, 2);
   668 }
   685 }
   669 
   686 
   670 /*****************************************************************************/
   687 /*****************************************************************************/
   671 
   688 
   672 int ecrt_slave_config_sdo32(ec_slave_config_t *sc, uint16_t index,
   689 int ecrt_slave_config_sdo32(ec_slave_config_t *sc, uint16_t index,
   673         uint8_t subindex, uint32_t value)
   690         uint8_t subindex, uint32_t value)
   674 {
   691 {
   675     uint8_t data[4];
   692     uint8_t data[4];
       
   693 
       
   694     if (sc->master->debug_level)
       
   695         EC_DBG("ecrt_slave_config_sdo32(sc = 0x%x, index = 0x%04X, "
       
   696                 "subindex = 0x%02X, value = %u)\n", (u32) sc,
       
   697                 index, subindex, value);
       
   698 
   676     EC_WRITE_U32(data, value);
   699     EC_WRITE_U32(data, value);
   677     return ecrt_slave_config_sdo(sc, index, subindex, data, 4);
   700     return ecrt_slave_config_sdo(sc, index, subindex, data, 4);
   678 }
   701 }
   679 
   702 
   680 /*****************************************************************************/
   703 /*****************************************************************************/