examples/mini/mini.c
changeset 861 6e3de145421a
parent 858 69122084d066
child 867 93a0180ee938
equal deleted inserted replaced
860:ba5c38f0bb30 861:6e3de145421a
   115 
   115 
   116 /*****************************************************************************/
   116 /*****************************************************************************/
   117 
   117 
   118 #ifdef SDO_ACCESS
   118 #ifdef SDO_ACCESS
   119 static ec_sdo_request_t *sdo;
   119 static ec_sdo_request_t *sdo;
   120 static int not_first_time = 0;
       
   121 #endif
   120 #endif
   122 
   121 
   123 /*****************************************************************************/
   122 /*****************************************************************************/
   124 
   123 
   125 void check_domain1_state(void)
   124 void check_domain1_state(void)
   167 
   166 
   168 #ifdef SDO_ACCESS
   167 #ifdef SDO_ACCESS
   169 void read_sdo(void)
   168 void read_sdo(void)
   170 {
   169 {
   171     switch (ecrt_sdo_request_state(sdo)) {
   170     switch (ecrt_sdo_request_state(sdo)) {
   172         case EC_REQUEST_COMPLETE:
   171         case EC_SDO_REQUEST_UNUSED: // request was not used yet
   173             if (not_first_time) {
       
   174                 printk(KERN_INFO PFX "Sdo value: 0x%04X\n",
       
   175                         EC_READ_U16(ecrt_sdo_request_data(sdo)));
       
   176             } else {
       
   177                 not_first_time = 1;
       
   178             }
       
   179             ecrt_sdo_request_read(sdo);
   172             ecrt_sdo_request_read(sdo);
   180             break;
   173             break;
   181         case EC_REQUEST_FAILURE:
   174         case EC_SDO_REQUEST_BUSY:
       
   175             printk(KERN_INFO PFX "Still busy...\n");
       
   176             break;
       
   177         case EC_SDO_REQUEST_SUCCESS:
       
   178             printk(KERN_INFO PFX "Sdo value: 0x%04X\n",
       
   179                     EC_READ_U16(ecrt_sdo_request_data(sdo)));
       
   180             ecrt_sdo_request_read(sdo);
       
   181             break;
       
   182         case EC_SDO_REQUEST_ERROR:
   182             printk(KERN_INFO PFX "Failed to read Sdo!\n");
   183             printk(KERN_INFO PFX "Failed to read Sdo!\n");
   183             ecrt_sdo_request_read(sdo);
   184             ecrt_sdo_request_read(sdo);
   184             break;
       
   185         default:
       
   186             printk(KERN_INFO PFX "Still busy...\n");
       
   187             break;
   185             break;
   188     }
   186     }
   189 }
   187 }
   190 #endif
   188 #endif
   191 
   189