return 0;
}
-/**
- * FIXME: this function is temporary, just for time LPCs are not ready
- * Sends #CAN_PICKER message.
- *
- * - data[0] = orte_data->picker.rightchela;
- * - data[1] = orte_data->picker.leftchela;
- * - data[2] = orte_data->picker.leftbelt;
- * - data[3] = orte_data->picker.rightbelt;
- * - data[4] = orte_data->picker.timeout;
- */
-int set_picker(struct robottype_orte_data *orte_data)
-{
- unsigned char data[5];
-
- data[0] = orte_data->picker.rightchela;
- data[1] = orte_data->picker.leftchela;
- data[2] = orte_data->picker.leftbelt;
- data[3] = orte_data->picker.rightbelt;
- data[4] = orte_data->picker.timeout;
- can_send(CAN_PICKER, sizeof(data), data);
-
- return 0;
-}
-
/**
* Sends #CAN_CHELAE message.
*
}
}
-void rcv_picker_cb (const ORTERecvInfo *info, void *vinstance,
- void *recvCallBackParam)
-{
- struct robottype_orte_data *orte_data = (struct robottype_orte_data *)recvCallBackParam;
-
- switch (info->status) {
- case NEW_DATA:
- set_picker(orte_data);
- break;
- case DEADLINE:
-// printf("ORTE deadline occurred - chelae receive\n");
- break;
- }
-}
-
void rcv_chelae_cb (const ORTERecvInfo *info, void *vinstance,
void *recvCallBackParam)
{
robottype_subscriber_lift_create(&orte, rcv_lift_cb, &orte);
robottype_subscriber_chelae_create(&orte, rcv_chelae_cb, &orte);
robottype_subscriber_belts_create(&orte, rcv_belts_cb, &orte);
- robottype_subscriber_picker_create(&orte, rcv_picker_cb, &orte); // FIXME: temporary (LPCs not ready)
robottype_subscriber_holder_create(&orte, rcv_holder_cb, &orte);
robottype_subscriber_pusher_create(&orte, rcv_pusher_cb, &orte);
ORTEPublicationSend(orte->publication_pusher);
}
-/* FIXME: temporary function (LPCs not ready yet) */
-void act_picker(unsigned char leftchela, unsigned char rightchela,
- unsigned char leftbelt, unsigned char rightbelt,
- unsigned char timeout)
-{
- orte->picker.leftchela = leftchela;
- orte->picker.rightchela = rightchela;
- orte->picker.leftbelt = leftbelt;
- orte->picker.rightbelt = rightbelt;
- orte->picker.timeout = timeout;
- ORTEPublicationSend(orte->publication_picker);
-}
-
void act_belts(unsigned char left, unsigned char right);
void act_holder(unsigned char position);
void act_pusher(unsigned short int position);
-/* FIXME: temporary function (LPCs not ready yet) */
-void act_picker(unsigned char leftchela, unsigned char rightchela,
- unsigned char leftbelt, unsigned char rightbelt,
- unsigned char timeout);
#ifdef __cplusplus
}