Esempio n. 1
0
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);
}
Esempio n. 2
0
/**
 * 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);
}