void* pinger_job () { int ret; simple_type data_source_request_var; printf ("Debut premier thread\n"); ret = pok_blackboard_create ("myblackboard", 4, &blackboard_id); printf("Create blackboard for sending task, return=%d\n",ret); while (1) { do_ping_spg(&(data_source_request_var)); ret = pok_blackboard_display (blackboard_id, &data_source_request_var, sizeof (data_source_request_var)); printf("Display blackboard value=%d, return=%d\n", data_source_request_var, ret); pok_thread_sleep (1000); } }
void* pinger_job () { int ret; simple_type data_source_request_var; ret = pok_port_queueing_create ("dataout", 8, POK_PORT_DIRECTION_OUT, POK_PORT_QUEUEING_DISCIPLINE_FIFO, &port_pinger_data_source_id); printf("Create queue, return=%d\n",ret); printf("port id=%d\n", port_pinger_data_source_id); while (1) { do_ping_spg(&(data_source_request_var)); ret = pok_port_queueing_send (port_pinger_data_source_id, &data_source_request_var, 4 , 0); if (ret != POK_ERRNO_OK) { printf ("SEND ERROR, ret=%d\n", ret); } pok_thread_sleep (1000); } }
void* pinger_job () { simple_type data_source_request_var; __po_hi_request_t data_source_request; __po_hi_gqueue_init(node_a_pinger_k,__po_hi_pinger_nb_ports,__po_hi_pinger_queue,__po_hi_pinger_fifo_size,__po_hi_pinger_first,__po_hi_pinger_offsets,__po_hi_pinger_woffsets,__po_hi_pinger_n_dest,__po_hi_pinger_destinations,__po_hi_pinger_used_size,__po_hi_pinger_history,__po_hi_pinger_recent,__po_hi_pinger_empties,__po_hi_pinger_total_fifo_size); __po_hi_wait_initialization(); while (1) { /* Call implementation*/ do_ping_spg(&(data_source_request_var)); /* Set the OUT port values*/ data_source_request.vars.pinger_global_data_source.pinger_global_data_source = data_source_request_var; data_source_request.port = data_source_request_var; __po_hi_gqueue_store_out(node_a_pinger_k,pinger_local_data_source,&(data_source_request)); /* Send the OUT ports*/ __po_hi_gqueue_send_output(node_a_pinger_k,pinger_global_data_source); __po_hi_wait_for_next_period(node_a_pinger_k); } }