fp@0: //--------------------------------------------------------------- fp@0: // fp@0: // e c _ c o m m a n d . c fp@0: // fp@0: // $LastChangedDate$ fp@0: // $Author$ fp@0: // fp@0: //--------------------------------------------------------------- fp@0: fp@0: #include fp@0: #include fp@0: fp@0: #include "ec_command.h" fp@0: fp@0: //--------------------------------------------------------------- fp@0: fp@0: void EtherCAT_command_init(EtherCAT_command_t *cmd) fp@0: { fp@0: cmd->command_type = 0x00; fp@0: cmd->node_address = 0x0000; fp@0: cmd->ring_position = 0x0000; fp@0: cmd->mem_address = 0x0000; fp@0: cmd->logical_address = 0x00000000; fp@0: cmd->data_length = 0; fp@0: cmd->status = Waiting; fp@0: cmd->next = NULL; fp@0: cmd->working_counter = 0; fp@0: cmd->data = NULL; fp@0: } fp@0: fp@0: //--------------------------------------------------------------- fp@0: fp@0: void EtherCAT_command_clear(EtherCAT_command_t *cmd) fp@0: { fp@0: if (cmd->data) fp@0: { fp@0: free(cmd->data); fp@0: } fp@0: fp@0: EtherCAT_command_init(cmd); fp@0: } fp@0: fp@0: //--------------------------------------------------------------- fp@0: fp@0: void EtherCAT_command_print_data(EtherCAT_command_t *cmd) fp@0: { fp@0: unsigned int i; fp@0: fp@0: printf("["); fp@0: fp@0: for (i = 0; i < cmd->data_length; i++) fp@0: { fp@0: printf("%02X", cmd->data[i]); fp@0: fp@0: if (i < cmd->data_length - 1) printf(" "); fp@0: } fp@0: fp@0: printf("]\n"); fp@0: } fp@0: fp@0: //---------------------------------------------------------------