menu
This commit is contained in:
33
main.c
33
main.c
@@ -12,19 +12,23 @@
|
||||
#include "lcd.h"
|
||||
#include "i2c.h"
|
||||
#include "modbus.h"
|
||||
#include "menu.h"
|
||||
|
||||
volatile uint16_t holdingRegisters[4];
|
||||
volatile uint16_t holdingRegisters[10];
|
||||
|
||||
void modbusGet(void) {
|
||||
if (modbusGetBusState() & (1<<ReceiveCompleted))
|
||||
{
|
||||
switch(rxbuffer[1]) {
|
||||
case fcReadHoldingRegisters:
|
||||
i2c_start(0x71);
|
||||
holdingRegisters[0] = i2c_readNak();
|
||||
i2c_stop();
|
||||
case fcPresetSingleRegister:
|
||||
case fcPresetMultipleRegisters:
|
||||
modbusExchangeRegisters(holdingRegisters,0,4);
|
||||
lcd_home();
|
||||
lcd_write("test %x", holdingRegisters[0]);
|
||||
lcd_set_position(holdingRegisters[1], holdingRegisters[2]);
|
||||
lcd_write("test");
|
||||
break;
|
||||
default:
|
||||
modbusSendException(ecIllegalFunction);
|
||||
@@ -33,6 +37,26 @@ void modbusGet(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void do_buttons(){
|
||||
//i2c_start(0x71);
|
||||
//uint8_t buttons = i2c_readNak();
|
||||
//i2c_stop();
|
||||
////TODO error handling
|
||||
|
||||
//if(buttons & (1 << 0))
|
||||
// set_item(1);
|
||||
//else if(buttons & (1 << 1))
|
||||
// set_item(2);
|
||||
//else if(buttons & (1 << 2))
|
||||
// set_item(2);
|
||||
//else if(buttons & (1 << 2))
|
||||
// set_item(3);
|
||||
//else if(buttons & (1 << 3))
|
||||
// set_item(4);
|
||||
//else if(buttons & (1 << 4))
|
||||
// set_item(5);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
i2c_init();
|
||||
@@ -47,8 +71,11 @@ int main(void)
|
||||
TCCR0B|=(1<<CS01); //prescaler 8
|
||||
TIMSK0|=(1<<TOIE0);
|
||||
|
||||
draw_menu();
|
||||
|
||||
while(1){
|
||||
modbusGet();
|
||||
do_buttons();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user