void task_2(void) { uint32 status; printf("Starting task 2\n"); OS_TaskRegister(); while(1) { status = OS_MutSemTake(mutex_id); if ( status != OS_SUCCESS ) { printf("TASK 2:Error calling OS_MutSemTake\n"); } shared_resource_x = task_2_id; status = OS_QueuePut(msgq_id, (void*)&shared_resource_x, sizeof(uint32), 0); if ( status != OS_SUCCESS ) { printf("TASK 2:Error calling OS_QueuePut (1)\n"); } OS_TaskDelay(150); shared_resource_x = task_2_id; status = OS_QueuePut(msgq_id, (void*)&shared_resource_x, sizeof(uint32), 0); if ( status != OS_SUCCESS ) { printf("TASK 2:Error calling OS_QueuePut (2)\n"); } status = OS_MutSemGive(mutex_id); if ( status != OS_SUCCESS ) { printf("TASK 2:Error calling OS_MutSemGive\n"); } OS_TaskDelay(500); } }
static void test_task_writer(void) { unsigned i; int32 err; for (i = 0; i < WRITER_NUM_MESSAGES; i++) { err = OS_QueuePut(qid, "Hello World", 12, 0); if (err != OS_SUCCESS) { test_emit_token('*'); } } }
void task_1(void) { uint32 status; OS_printf("Starting task 1\n"); OS_TaskRegister(); while(1) { status = OS_MutSemTake(mutex_id); if ( status != OS_SUCCESS ) { OS_printf("TASK 1:Error calling OS_MutSemTake with mutex_id = %d\n",mutex_id); } shared_resource_x = task_1_id; status = OS_QueuePut(msgq_id, (void*)&shared_resource_x, sizeof(uint32), 0); if ( status != OS_SUCCESS ) { OS_printf("TASK 1:Error calling OS_QueuePut ( 1 )\n"); } shared_resource_x = task_1_id; status = OS_QueuePut(msgq_id, (void*)&shared_resource_x, sizeof(uint32), 0); if ( status != OS_SUCCESS ) { OS_printf("TASK 1:Error calling OS_QueuePut ( 2 )\n"); } status = OS_MutSemGive(mutex_id); if ( status != OS_SUCCESS ) { OS_printf("TASK 1:Error calling OS_MutSemGive\n"); } OS_TaskDelay(100); } }
int32 MEMSSIM_WriteDeviceData(mem_veh_msg_t *mem_veh_msg) { OS_QueuePut(g_memsio_q_id, CFE_SB_GetUserData((CFE_SB_MsgPtr_t)mem_veh_msg), CFE_SB_GetUserDataLength((CFE_SB_MsgPtr_t)mem_veh_msg), 0); return CFE_SUCCESS; }