Пример #1
0
void gate_tripGate(uint8 local_gate_index) {
    // rti is software debounce to filter multiple triggers
    
    if (local_gate_index == 1) {
        if (gate_1_status == GATE_STATUS_OPEN) {
            gate_1_status = GATE_STATUS_CLOSED;
                       
            rti_register(&gate_clearGate1, 100, 1, false);
            
            if (identifier == 0) {
                gate_respondToGate(section_1_index);
            } else {
                network_sendGatePacket(section_1_index);
            }
        }
    } else if (local_gate_index == 2) {        
        if (gate_2_status == GATE_STATUS_OPEN) {
            gate_2_status = GATE_STATUS_CLOSED;
            
            rti_register(&gate_clearGate2, 100, 1, false);
            
            if (identifier == 0) {
                gate_respondToGate(section_2_index);
            } else {
                network_sendGatePacket(section_2_index);
            }
        }
    }
}
Пример #2
0
void gate_lightSection(uint8 section_index) {
    if (section_index == section_1_index) {
        set_status(-1, 1, -1);        
        pwm_fade(0, 10);
        
        rti_register(&gate_clearSection1, 1000, 1, false);
        
    } else if (section_index == section_2_index) {
        set_status(-1, -1, 1);        
        pwm_fade(1, 10);
        
        rti_register(&gate_clearSection2, 1000, 1, false); 
    }
}
Пример #3
0
 void disp_blinking_message (s8 *msg, rti_time dim_dur, rti_time blink_dur, rti_time dim_rate, rti_time blink_rate) 
 {
 	s16 i;
 	rti_time orig_blink_rate;
 	
 	strncpy(disp_ram,msg,DISP_SIZE);	
 		
 	data.done = 0;
 	 
 	set_global_blink(DISP_NO_BLINK);
 	data.idx = 0;
 	data.func_id = rti_register(move_dim,NULL,dim_rate,RTI_NOW);
 	rti_register(grapics_stop_stage,NULL,RTI_ONCE,dim_dur);
 	
 	while (!data.done)
 		;
 		
 	data.done = 0;
 	
 	for (i = 0; i < DISP_SIZE; i++)
 		disp_att_ram[i].dim = DISP_FULL_DIM;
 		
 	orig_blink_rate = disp_get_blink_rate();
 	
 	disp_set_blink_rate(blink_rate);
 	set_global_blink(DISP_BLINK);
 	
 	data.func_id = RTI_INVALID_ID;
 	rti_register(grapics_stop_stage,NULL,RTI_ONCE,blink_dur);
 	
 	while (!data.done)
 		;
 	
 	set_global_blink(DISP_NO_BLINK);
 	disp_set_blink_rate(orig_blink_rate);
 
 	return; 	
 }