Ejemplo n.º 1
0
void LCDData(char dataout)				       		// send data to LCD
{
	set_port_value(outport,dataout);			    // output dataout on output port
	set_pin_value(outport,rs);			  	        // setbit rs=1 (send data)
	set_pin_value(outport,en);		   		        // set enable bit
	_delay_ms(1);						            // wait 1 msecond
	clear_pin_value(outport,en);					// clr enable bit
}
Ejemplo n.º 2
0
/**
 * Changes the address on the MUX to mux-address. This
 * is for SPI output. 
 */
void Skitt::change_spi_address(unsigned int mux_address)
{
	/* If the mux currently isn't set then set it to the MUX
	  address. */
	if (mux_address >= 0 && mux_address <= 3) {
		/* Disable the other DEMUX.		
		   Set the two select pins to the address in binary. 
		   Enable the DEMUX. */
		set_pin_value(mux_pins[1][2], 1);
		set_pin_value(mux_pins[0][2], 1);
		set_pin_value(mux_pins[0][0], (mux_address & 1));
		set_pin_value(mux_pins[0][1], (mux_address & 2));
		set_pin_value(mux_pins[0][2], 0);
		return;
	} else if (mux_address > 3 && mux_address < 9) {
		set_pin_value(mux_pins[0][2], 1);
		set_pin_value(mux_pins[1][2], 0);
		set_pin_value(mux_pins[1][0], (mux_address & 0x01));
		set_pin_value(mux_pins[1][1], (mux_address & 0x02));
		return;
	} else {
		fprintf(stderr, "DEMUX not set %u.", mux_address);
		return;
	}
}
Ejemplo n.º 3
0
// (set_pin <pinid> <value>)
Item *lio_setpin(List *expression)
{
    const uint8_t pinid = eval_as_uint8(second(expression));
    for (List *values = rest(rest(expression)); values; values = rest(values)) {
        set_pin_value(pinid, eval_as_uint16(first(values)));
    }
    return 0;
}
Ejemplo n.º 4
0
void showError()
{
	_log("error\r\0");
	//buzzer
	set_pin_value(outport,3);
	_delay_ms(500);
	clear_pin_value(outport,3);

}
Ejemplo n.º 5
0
void LCDCmd(char cmdout)			       	   		// send command to LCD
{
	set_port_value(outport,cmdout);				    // output cmdout on output port
	clear_pin_value(outport,rs);					// clrbit rs=0 (send command)
	set_pin_value(outport,en);					    // set enable bit
	_delay_ms(1);						            // wait 1 msecond
	clear_pin_value(outport,en);				    // clr enable bit
	
}
Ejemplo n.º 6
0
// (pin_mode <pinid> IN|HIGH|OUT|PWM|ADC [value])
Item *lio_pinmode(List *expression)
{
    const uint8_t pinid = eval_as_uint8(second(expression));
    pin_mode(pinid, eval_as_string(third(expression)));
    Item *value = fourth(expression);
    if (value) {
        set_pin_value(pinid, eval_as_uint16(value));
    }
    return 0;
}
Ejemplo n.º 7
0
Item *port(List *expression)
{
    uint16_t value = eval_as_uint16(second(expression));
    uint8_t i=0;
    for (List *remaining = rest(rest(expression)); remaining; remaining = rest(remaining)) {
        set_pin_value(eval_as_uint8(first(remaining)), value & (1<<i));
        i++;
    }
    return 0;
}
Ejemplo n.º 8
0
// (set_pin <pinid> <value>)
Item *lio_setpin(List *expression)
{
    const uint8_t pinid = eval_as_uint8(second(expression));
    set_pin_value(pinid, eval_as_uint16(third(expression)));
    return 0;
}