+ case UnicensCmd_SendAmsMessage:
+ {
+ Ucs_AmsTx_Msg_t *msg;
+ msg = Ucs_AmsTx_AllocMsg(my->unicens, e->val.SendAms.payloadLen);
+ if (NULL == msg)
+ {
+ /* Try again later */
+ popEntry = false;
+ break;
+ }
+ if (0 != e->val.SendAms.payloadLen)
+ {
+ assert(NULL != msg->data_ptr);
+ memcpy(msg->data_ptr, e->val.SendAms.pPayload, e->val.SendAms.payloadLen);
+ }
+ msg->custom_info_ptr = NULL;
+ msg->data_size = e->val.SendAms.payloadLen;
+ msg->destination_address = e->val.SendAms.targetAddress;
+ msg->llrbc = 10;
+ msg->msg_id = e->val.SendAms.msgId;
+ if (UCS_RET_SUCCESS == Ucs_AmsTx_SendMsg(my->unicens, msg, OnUcsAmsWrite))
+ {
+ popEntry = false;
+ }
+ else
+ {
+ Ucs_AmsTx_FreeUnusedMsg(my->unicens, msg);
+ UCSI_CB_OnUserMessage(my->tag, true, "Ucs_AmsTx_SendMsg failed", 0);
+ }
+ break;
+ }