master/canopen.c
changeset 758 8fa6f825eb7d
parent 740 68d83b45dfa2
child 814 a51f857b1b2d
equal deleted inserted replaced
757:6210c4260899 758:8fa6f825eb7d
   169     kfree(sdo);
   169     kfree(sdo);
   170 }
   170 }
   171 
   171 
   172 /*****************************************************************************/
   172 /*****************************************************************************/
   173 
   173 
       
   174 /**
       
   175  * Get and SDO entry from an SDO via its subindex.
       
   176  * \return pointer to SDO entry, or NULL.
       
   177  */
       
   178 
   174 ec_sdo_entry_t *ec_sdo_get_entry(
   179 ec_sdo_entry_t *ec_sdo_get_entry(
   175         ec_sdo_t *sdo,
   180         ec_sdo_t *sdo, /**< SDO */
   176         uint8_t subindex
   181         uint8_t subindex /**< entry subindex */
   177         )
   182         )
   178 {
   183 {
   179     ec_sdo_entry_t *entry;
   184     ec_sdo_entry_t *entry;
   180 
   185 
   181     list_for_each_entry(entry, &sdo->entries, list) {
   186     list_for_each_entry(entry, &sdo->entries, list) {
   186     return NULL;
   191     return NULL;
   187 }
   192 }
   188 
   193 
   189 /*****************************************************************************/
   194 /*****************************************************************************/
   190 
   195 
       
   196 /**
       
   197  * Print SDO information to a buffer.
       
   198  * /return size of bytes written to buffer.
       
   199  */ 
       
   200 
   191 ssize_t ec_sdo_info(ec_sdo_t *sdo, /**< SDO */
   201 ssize_t ec_sdo_info(ec_sdo_t *sdo, /**< SDO */
   192                     char *buffer /**< target buffer */
   202                     char *buffer /**< target buffer */
   193                     )
   203                     )
   194 {
   204 {
   195     off_t off = 0;
   205     off_t off = 0;
   200 
   210 
   201     return off;
   211     return off;
   202 }
   212 }
   203 
   213 
   204 /*****************************************************************************/
   214 /*****************************************************************************/
       
   215 
       
   216 /**
       
   217  * Show an SDO as Sysfs attribute.
       
   218  * /return size of bytes written to buffer.
       
   219  */ 
   205 
   220 
   206 ssize_t ec_show_sdo_attribute(struct kobject *kobj, /**< kobject */
   221 ssize_t ec_show_sdo_attribute(struct kobject *kobj, /**< kobject */
   207                               struct attribute *attr,
   222                               struct attribute *attr,
   208                               char *buffer
   223                               char *buffer
   209                               )
   224                               )
   283 
   298 
   284     kfree(entry);
   299     kfree(entry);
   285 }
   300 }
   286 
   301 
   287 /*****************************************************************************/
   302 /*****************************************************************************/
       
   303  
       
   304 /**
       
   305  * Print SDO entry information to a buffer.
       
   306  * \return number of bytes written.
       
   307  */
   288 
   308 
   289 ssize_t ec_sdo_entry_info(ec_sdo_entry_t *entry, /**< SDO entry */
   309 ssize_t ec_sdo_entry_info(ec_sdo_entry_t *entry, /**< SDO entry */
   290                           char *buffer /**< target buffer */
   310                           char *buffer /**< target buffer */
   291                           )
   311                           )
   292 {
   312 {
   300 
   320 
   301     return off;
   321     return off;
   302 }
   322 }
   303 
   323 
   304 /*****************************************************************************/
   324 /*****************************************************************************/
       
   325 
       
   326 /**
       
   327  * Format entry data based on the CANopen data type and print it to a buffer.
       
   328  * \return number of bytes written.
       
   329  */
   305 
   330 
   306 ssize_t ec_sdo_entry_format_data(ec_sdo_entry_t *entry, /**< SDO entry */
   331 ssize_t ec_sdo_entry_format_data(ec_sdo_entry_t *entry, /**< SDO entry */
   307                                  ec_sdo_request_t *request, /**< SDO request */
   332                                  ec_sdo_request_t *request, /**< SDO request */
   308                                  char *buffer /**< target buffer */
   333                                  char *buffer /**< target buffer */
   309                                  )
   334                                  )
   373                 request->data[i], request->data[i]);
   398                 request->data[i], request->data[i]);
   374     return off;
   399     return off;
   375 }
   400 }
   376 
   401 
   377 /*****************************************************************************/
   402 /*****************************************************************************/
       
   403 
       
   404 /**
       
   405  * Start SDO entry reading.
       
   406  * This function blocks, until reading is finished, and is interruptible as
       
   407  * long as the master state machine has not begun with reading.
       
   408  * \return number of bytes written to buffer, or error code.
       
   409  */
   378 
   410 
   379 ssize_t ec_sdo_entry_read_value(ec_sdo_entry_t *entry, /**< SDO entry */
   411 ssize_t ec_sdo_entry_read_value(ec_sdo_entry_t *entry, /**< SDO entry */
   380                                 char *buffer /**< target buffer */
   412                                 char *buffer /**< target buffer */
   381                                 )
   413                                 )
   382 {
   414 {
   417     return off;
   449     return off;
   418 }
   450 }
   419 
   451 
   420 /*****************************************************************************/
   452 /*****************************************************************************/
   421 
   453 
       
   454 /**
       
   455  * Show an SDO entry as Sysfs attribute.
       
   456  * /return size of bytes written to buffer.
       
   457  */ 
       
   458 
   422 ssize_t ec_show_sdo_entry_attribute(struct kobject *kobj, /**< kobject */
   459 ssize_t ec_show_sdo_entry_attribute(struct kobject *kobj, /**< kobject */
   423                                     struct attribute *attr,
   460                                     struct attribute *attr,
   424                                     char *buffer
   461                                     char *buffer
   425                                     )
   462                                     )
   426 {
   463 {