Statistics
| Branch: | Tag: | Revision:

amiro-os / components / bus / i2c / HWI2CDriver.cpp @ 58fe0e0b

History | View | Annotate | Download (1.468 KB)

1 58fe0e0b Thomas Schöpping
#include <amiro/bus/i2c/I2CParams.hpp>
2
#include <amiro/bus/i2c/HWI2CDriver.hpp>
3
4
namespace amiro {
5
6
7
HWI2CDriver::
8
HWI2CDriver(::I2CDriver *d) :
9
  driver(d) {
10
11
};
12
13
void
14
HWI2CDriver::
15
start(const ::I2CConfig *config) {
16
17
  i2cStart(this->driver, config);
18
19
};
20
21
void
22
HWI2CDriver::
23
stop() {
24
25
  i2cStop(this->driver);
26
27
}
28
29
i2cflags_t
30
HWI2CDriver::
31
getErrors() {
32
33
  return i2cGetErrors(this->driver);
34
35
}
36
37
msg_t
38
HWI2CDriver::
39
masterTransmit(const I2CTxParams *params, systime_t timeout) {
40
41
  return i2cMasterTransmitTimeout(
42
                                  this->driver,
43
                                  params->addr,
44
                                  params->txbuf,
45
                                  params->txbytes,
46
                                  params->rxbuf,
47
                                  params->rxbytes,
48
                                  timeout);
49
50
}
51
52
msg_t
53
HWI2CDriver::
54
masterReceive(const I2CRxParams *params, systime_t timeout) {
55
56
  return i2cMasterReceiveTimeout(
57
                                 this->driver,
58
                                 params->addr,
59
                                 params->rxbuf,
60
                                 params->rxbytes,
61
                                 timeout);
62
63
}
64
65
void
66
HWI2CDriver::
67
acquireBus() {
68
69
#if I2C_USE_MUTUAL_EXCLUSION
70
  i2cAcquireBus(this->driver);
71
#endif /* I2C_USE_MUTUAL_EXCLUSION */
72
}
73
74
void
75
HWI2CDriver::
76
releaseBus() {
77
78
#if I2C_USE_MUTUAL_EXCLUSION
79
  i2cReleaseBus(this->driver);
80
#endif /* I2C_USE_MUTUAL_EXCLUSION */
81
82
}
83
84
} /* amiro */