Statistics
| Branch: | Revision:

root / main.c @ 9b2b6d91

History | View | Annotate | Download (1.19 KB)

1
#include <stdint.h>
2
#include <util/delay.h>
3
#include "mb.h"
4
#include "mbport.h"
5
#include "tooltron_mb.h"
6
#include "rfid.h"
7

    
8
eMBErrorCode eMBRegCoilsCB(UCHAR *reg_buf, USHORT addr, USHORT num,
9
    eMBRegisterMode mode) {
10
  if (mode == MB_REG_WRITE) {
11
    return MB_ENOREG;
12
  } else if (mode == MB_REG_READ) {
13
    return MB_ENOREG;
14
  } else {
15
    return MB_EIO;
16
  }
17
}
18

    
19
eMBErrorCode eMBRegDiscreteCB(UCHAR *reg_buf, USHORT addr, USHORT num) {
20
  return MB_ENOREG;
21
}
22

    
23
eMBErrorCode eMBRegInputCB(UCHAR *reg_buf, USHORT addr, USHORT num) {
24
  int i;
25
  switch (addr) {
26
    case 0:
27
      // TODO test whether the following works as expected (8 or 16 bit buf?)
28
      for (i = 0; i < 2*num; i++) {
29
        reg_buf[i] = i;
30
      }
31
      return MB_ENOERR;
32
    default:
33
      return MB_ENOREG;
34
  }
35
}
36

    
37
eMBErrorCode eMBRegHoldingCB(UCHAR *reg_buf, USHORT addr, USHORT num,
38
    eMBRegisterMode mode) {
39
  if (mode == MB_REG_WRITE) {
40
    return MB_ENOREG;
41
  } else if (mode == MB_REG_READ) {
42
    return MB_ENOREG;
43
  } else {
44
    return MB_EIO;
45
  }
46
}
47

    
48
int main() {
49
  rfid_init();
50

    
51
  eMBInit(MB_RTU, SLAVE_ADDR, 0, MB_BAUD, MB_PAR_NONE);
52
  eMBEnable();
53

    
54
  while (1) {
55
    rfid_read();
56
    eMBPoll();
57
    _delay_ms(200);
58
  }
59

    
60
  return 0;
61
}