static void uart_rx_cb(uint8_t data) { if( echo ) { console_print_byte(data); if( data == '\r' ) { console_print_byte('\n'); } } error_t err; err = fifo_put(&cmd_fifo, &data, 1); assert(err == SUCCESS); if(!sched_is_scheduled(&process_cmd_fifo)) sched_post_task(&process_cmd_fifo); }
/** * Edge hook to dump the schedule edges. */ static void sched_edge_hook(FILE *F, const ir_node *irn) { ir_graph *irg = get_irn_irg(irn); if (!irg_is_constrained(irg, IR_GRAPH_CONSTRAINT_BACKEND)) return; if (is_Proj(irn) || is_Block(irn) || !sched_is_scheduled(irn)) return; ir_node *const prev = sched_prev(irn); if (!sched_is_begin(prev)) { fprintf(F, "edge:{sourcename: "); print_nodeid(F, irn); fprintf(F, " targetname: "); print_nodeid(F, prev); fprintf(F, " color:magenta}\n"); } }
static void rx_cb(uint8_t byte) { fifo_put_byte(&rx_fifo, byte); if(!sched_is_scheduled(&process_rx_fifo)) sched_post_task_prio(&process_rx_fifo, MAX_PRIORITY, NULL); }