diff --git a/master/ethernet.c b/master/ethernet.c index 4dda1fee..09e274b2 100644 --- a/master/ethernet.c +++ b/master/ethernet.c @@ -299,7 +299,7 @@ int ec_eoe_send(ec_eoe_t *eoe /**< EoE handler */) #endif data = ec_slave_mbox_prepare_send(eoe->slave, &eoe->datagram, - 0x02, current_size + 4); + EC_MBOX_TYPE_EOE, current_size + 4); if (IS_ERR(data)) return PTR_ERR(data); @@ -478,7 +478,7 @@ void ec_eoe_state_rx_fetch(ec_eoe_t *eoe /**< EoE handler */) return; } - if (mbox_prot != 0x02) { // EoE FIXME mailbox handler necessary + if (mbox_prot != EC_MBOX_TYPE_EOE) { // FIXME mailbox handler necessary eoe->stats.rx_errors++; #if EOE_DEBUG_LEVEL >= 1 EC_SLAVE_WARN(eoe->slave, "Other mailbox protocol response for %s.\n", diff --git a/master/fsm_coe.c b/master/fsm_coe.c index cea0b023..b3116b6a 100644 --- a/master/fsm_coe.c +++ b/master/fsm_coe.c @@ -318,7 +318,8 @@ int ec_fsm_coe_prepare_dict( ) { ec_slave_t *slave = fsm->slave; - uint8_t *data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, 8); + uint8_t *data = ec_slave_mbox_prepare_send(slave, datagram, + EC_MBOX_TYPE_COE, 8); if (IS_ERR(data)) { return PTR_ERR(data); } @@ -470,7 +471,8 @@ int ec_fsm_coe_dict_prepare_desc( ) { ec_slave_t *slave = fsm->slave; - u8 *data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, 8); + u8 *data = ec_slave_mbox_prepare_send(slave, datagram, EC_MBOX_TYPE_COE, + 8); if (IS_ERR(data)) { return PTR_ERR(data); } @@ -532,7 +534,7 @@ void ec_fsm_coe_dict_response( return; } - if (mbox_prot != 0x03) { // CoE + if (mbox_prot != EC_MBOX_TYPE_COE) { EC_SLAVE_ERR(slave, "Received mailbox protocol 0x%02X as response.\n", mbox_prot); fsm->state = ec_fsm_coe_error; @@ -752,7 +754,8 @@ int ec_fsm_coe_dict_prepare_entry( ) { ec_slave_t *slave = fsm->slave; - u8 *data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, 10); + u8 *data = ec_slave_mbox_prepare_send(slave, datagram, EC_MBOX_TYPE_COE, + 10); if (IS_ERR(data)) { return PTR_ERR(data); } @@ -813,7 +816,7 @@ void ec_fsm_coe_dict_desc_response( return; } - if (mbox_prot != 0x03) { // CoE + if (mbox_prot != EC_MBOX_TYPE_COE) { EC_SLAVE_ERR(slave, "Received mailbox protocol 0x%02X as response.\n", mbox_prot); fsm->state = ec_fsm_coe_error; @@ -1049,7 +1052,7 @@ void ec_fsm_coe_dict_entry_response( return; } - if (mbox_prot != 0x03) { // CoE + if (mbox_prot != EC_MBOX_TYPE_COE) { EC_SLAVE_ERR(slave, "Received mailbox protocol" " 0x%02X as response.\n", mbox_prot); fsm->state = ec_fsm_coe_error; @@ -1200,7 +1203,7 @@ int ec_fsm_coe_prepare_down_start( uint8_t data_set_size; if (request->data_size <= 4) { // use expedited transfer type - data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, + data = ec_slave_mbox_prepare_send(slave, datagram, EC_MBOX_TYPE_COE, EC_COE_DOWN_REQ_HEADER_SIZE); if (IS_ERR(data)) { request->errno = PTR_ERR(data); @@ -1241,7 +1244,7 @@ int ec_fsm_coe_prepare_down_start( data_size = required_data_size; } - data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, + data = ec_slave_mbox_prepare_send(slave, datagram, EC_MBOX_TYPE_COE, data_size); if (IS_ERR(data)) { request->errno = PTR_ERR(data); @@ -1491,7 +1494,7 @@ void ec_fsm_coe_down_prepare_segment_request( + EC_COE_DOWN_SEG_MIN_DATA_SIZE; } - data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, + data = ec_slave_mbox_prepare_send(slave, datagram, EC_MBOX_TYPE_COE, data_size); if (IS_ERR(data)) { request->errno = PTR_ERR(data); @@ -1565,7 +1568,7 @@ void ec_fsm_coe_down_response( return; } - if (mbox_prot != 0x03) { // CoE + if (mbox_prot != EC_MBOX_TYPE_COE) { request->errno = EIO; fsm->state = ec_fsm_coe_error; EC_SLAVE_ERR(slave, "Received mailbox protocol 0x%02X as response.\n", @@ -1743,7 +1746,7 @@ void ec_fsm_coe_down_seg_response( return; } - if (mbox_prot != 0x03) { // CoE + if (mbox_prot != EC_MBOX_TYPE_COE) { request->errno = EIO; fsm->state = ec_fsm_coe_error; EC_SLAVE_ERR(slave, "Received mailbox protocol 0x%02X as response.\n", @@ -1844,7 +1847,8 @@ int ec_fsm_coe_prepare_up( ec_sdo_request_t *request = fsm->request; ec_master_t *master = slave->master; - u8 *data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, 10); + u8 *data = ec_slave_mbox_prepare_send(slave, datagram, EC_MBOX_TYPE_COE, + 10); if (IS_ERR(data)) { request->errno = PTR_ERR(data); return PTR_ERR(data); @@ -2035,7 +2039,8 @@ void ec_fsm_coe_up_prepare_segment_request( ) { uint8_t *data = - ec_slave_mbox_prepare_send(fsm->slave, datagram, 0x03, 10); + ec_slave_mbox_prepare_send(fsm->slave, datagram, EC_MBOX_TYPE_COE, + 10); if (IS_ERR(data)) { fsm->request->errno = PTR_ERR(data); fsm->state = ec_fsm_coe_error; @@ -2108,7 +2113,7 @@ void ec_fsm_coe_up_response( ec_print_data(data, rec_size); } - if (mbox_prot != 0x03) { // CoE + if (mbox_prot != EC_MBOX_TYPE_COE) { request->errno = EIO; fsm->state = ec_fsm_coe_error; EC_SLAVE_WARN(slave, "Received mailbox protocol 0x%02X" @@ -2413,7 +2418,7 @@ void ec_fsm_coe_up_seg_response( ec_print_data(data, rec_size); } - if (mbox_prot != 0x03) { // CoE + if (mbox_prot != EC_MBOX_TYPE_COE) { EC_SLAVE_ERR(slave, "Received mailbox protocol 0x%02X as response.\n", mbox_prot); request->errno = EIO; diff --git a/master/fsm_foe.c b/master/fsm_foe.c index 2e889699..b0f379a1 100644 --- a/master/fsm_foe.c +++ b/master/fsm_foe.c @@ -46,10 +46,6 @@ */ #define EC_FSM_FOE_TIMEOUT 3000 -/** Mailbox type FoE. - */ -#define EC_MBOX_TYPE_FILEACCESS 0x04 - /** Size of the FoE header. */ #define EC_FOE_HEADER_SIZE 6 @@ -253,8 +249,7 @@ int ec_foe_prepare_data_send( } data = ec_slave_mbox_prepare_send(fsm->slave, - datagram, EC_MBOX_TYPE_FILEACCESS, - current_size + EC_FOE_HEADER_SIZE); + datagram, EC_MBOX_TYPE_FOE, current_size + EC_FOE_HEADER_SIZE); if (IS_ERR(data)) { return -1; } @@ -291,7 +286,7 @@ int ec_foe_prepare_wrq_send( current_size = fsm->tx_filename_len; data = ec_slave_mbox_prepare_send(fsm->slave, datagram, - EC_MBOX_TYPE_FILEACCESS, current_size + EC_FOE_HEADER_SIZE); + EC_MBOX_TYPE_FOE, current_size + EC_FOE_HEADER_SIZE); if (IS_ERR(data)) { return -1; } @@ -428,7 +423,7 @@ void ec_fsm_foe_state_ack_read( return; } - if (mbox_prot != EC_MBOX_TYPE_FILEACCESS) { // FoE + if (mbox_prot != EC_MBOX_TYPE_FOE) { ec_foe_set_tx_error(fsm, FOE_MBOX_PROT_ERROR); EC_SLAVE_ERR(slave, "Received mailbox protocol 0x%02X as response.\n", mbox_prot); @@ -563,7 +558,7 @@ int ec_foe_prepare_rrq_send( current_size = fsm->rx_filename_len; data = ec_slave_mbox_prepare_send(fsm->slave, datagram, - EC_MBOX_TYPE_FILEACCESS, current_size + EC_FOE_HEADER_SIZE); + EC_MBOX_TYPE_FOE, current_size + EC_FOE_HEADER_SIZE); if (IS_ERR(data)) { return -1; } @@ -594,7 +589,7 @@ int ec_foe_prepare_send_ack( uint8_t *data; data = ec_slave_mbox_prepare_send(fsm->slave, datagram, - EC_MBOX_TYPE_FILEACCESS, EC_FOE_HEADER_SIZE); + EC_MBOX_TYPE_FOE, EC_FOE_HEADER_SIZE); if (IS_ERR(data)) { return -1; } @@ -767,7 +762,7 @@ void ec_fsm_foe_state_data_read( return; } - if (mbox_prot != EC_MBOX_TYPE_FILEACCESS) { // FoE + if (mbox_prot != EC_MBOX_TYPE_FOE) { EC_SLAVE_ERR(slave, "Received mailbox protocol 0x%02X as response.\n", mbox_prot); ec_foe_set_rx_error(fsm, FOE_PROT_ERROR); diff --git a/master/fsm_soe.c b/master/fsm_soe.c index 53b8ac6e..b21846e7 100644 --- a/master/fsm_soe.c +++ b/master/fsm_soe.c @@ -41,10 +41,6 @@ /*****************************************************************************/ -/** Mailbox type for SoE. - */ -#define EC_MBOX_TYPE_SOE 0x05 - /** SoE operations */ enum ec_soe_opcodes { diff --git a/master/mailbox.h b/master/mailbox.h index cdd2eb25..db130ff1 100644 --- a/master/mailbox.h +++ b/master/mailbox.h @@ -45,6 +45,16 @@ */ #define EC_MBOX_HEADER_SIZE 6 +/** Mailbox types. + */ +enum ec_mbox_types { + EC_MBOX_TYPE_EOE = 0x02, + EC_MBOX_TYPE_COE = 0x03, + EC_MBOX_TYPE_FOE = 0x04, + EC_MBOX_TYPE_SOE = 0x05, + EC_MBOX_TYPE_VOE = 0x0f, +}; + /*****************************************************************************/ uint8_t *ec_slave_mbox_prepare_send(const ec_slave_t *, ec_datagram_t *, diff --git a/master/voe_handler.c b/master/voe_handler.c index 6ad1fc41..6e0a39b1 100644 --- a/master/voe_handler.c +++ b/master/voe_handler.c @@ -40,10 +40,6 @@ #include "mailbox.h" #include "voe_handler.h" -/** VoE mailbox type. - */ -#define EC_MBOX_TYPE_VOE 0x0f - /** VoE header size. */ #define EC_VOE_HEADER_SIZE 6