equal
deleted
inserted
replaced
52 #define EC_FOE_HEADER_SIZE 6 |
52 #define EC_FOE_HEADER_SIZE 6 |
53 // uint8_t OpCode |
53 // uint8_t OpCode |
54 // uint8_t reserved |
54 // uint8_t reserved |
55 // uint32_t PacketNo, Password, ErrorCode |
55 // uint32_t PacketNo, Password, ErrorCode |
56 |
56 |
57 //#define DEBUG_FOE |
57 #define DEBUG_FOE |
58 |
58 |
59 /*****************************************************************************/ |
59 /*****************************************************************************/ |
60 |
60 |
61 /** FoE OpCodes. |
61 /** FoE OpCodes. |
62 */ |
62 */ |
772 |
772 |
773 if (opCode == EC_FOE_OPCODE_BUSY) { |
773 if (opCode == EC_FOE_OPCODE_BUSY) { |
774 if (ec_foe_prepare_send_ack(fsm, datagram)) { |
774 if (ec_foe_prepare_send_ack(fsm, datagram)) { |
775 ec_foe_set_rx_error(fsm, FOE_PROT_ERROR); |
775 ec_foe_set_rx_error(fsm, FOE_PROT_ERROR); |
776 } |
776 } |
|
777 fsm->state = ec_fsm_foe_state_sent_ack; |
777 return; |
778 return; |
778 } |
779 } |
779 |
780 |
780 if (opCode == EC_FOE_OPCODE_ERR) { |
781 if (opCode == EC_FOE_OPCODE_ERR) { |
781 fsm->request->error_code = EC_READ_U32(data + 2); |
782 fsm->request->error_code = EC_READ_U32(data + 2); |
884 fsm->rx_expected_packet_no = 0; |
885 fsm->rx_expected_packet_no = 0; |
885 fsm->request->data_size = fsm->rx_buffer_offset; |
886 fsm->request->data_size = fsm->rx_buffer_offset; |
886 fsm->state = ec_fsm_foe_end; |
887 fsm->state = ec_fsm_foe_end; |
887 } |
888 } |
888 else { |
889 else { |
889 fsm->rx_expected_packet_no++; |
890 fsm->rx_expected_packet_no++; // this should not be incremented when BUSY |
890 fsm->retries = EC_FSM_RETRIES; |
891 fsm->retries = EC_FSM_RETRIES; |
891 fsm->state = ec_fsm_foe_state_data_check; |
892 fsm->state = ec_fsm_foe_state_data_check; |
892 } |
893 } |
893 } |
894 } |
894 |
895 |