Rev 5 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5 | Rev 6 | ||
---|---|---|---|
Line 40... | Line 40... | ||
40 | 40 | ||
41 | void SHT21::reset() { |
41 | void SHT21::reset() { |
42 | 42 | ||
43 | 43 | ||
44 | const uint8_t buff = SOFT_RESET; |
44 | const uint8_t buff = SOFT_RESET; |
45 | msg_t err = i2cMasterTransmit(&I2CD2, I2C_ADD, buff, sizeof(buff), 0,0); |
45 | msg_t err = i2cMasterTransmit(m_driver, I2C_ADD, &buff, sizeof(buff), 0,0); |
46 | if(err != MSG_OK) |
46 | if(err != MSG_OK) |
47 | 47 | ||
48 | 48 | ||
49 | chThdSleepMillisec(15); // wait for SHT to reset |
49 | chThdSleepMilliseconds(15); // wait for SHT to reset |
50 | } |
50 | } |
51 | 51 | ||
52 | msg_t SHT21::getSerialNumber(uint8_t * serialNumber) { |
52 | msg_t SHT21::getSerialNumber(uint8_t * serialNumber) { |
53 | 53 | ||
54 | uint8_t serialNumber[8]; |
- | |
55 | 54 | ||
56 | // read memory location 1 |
55 | // read memory location 1 |
57 | const uint8_t buff = { 0xFA,0xOF }; |
56 | const uint8_t buff []= { 0xFA,0x0F }; |
58 | 57 | ||
59 | uin8_r snRbuff[8]; |
58 | uint8_t rxbuff[8]; |
60 | msg_t err = i2cMasterTransmit(&I2CD2, I2C_ADD, buff, sizeof(buff), &snRbuff, sizeof(snRbuff)); |
59 | msg_t err = i2cMasterTransmit(m_driver, I2C_ADD, buff, sizeof(buff), &rxbuff[0], sizeof(rxbuff)); |
61 | if(err != MSG_OK) |
60 | if(err != MSG_OK) |
62 | return err; |
61 | return err; |
63 | 62 | ||
64 | serialNumber[5] = snRbuff[0]; // read SNB_3 |
63 | serialNumber[5] = rxbuff[0]; // read SNB_3 |
65 | // CRC SNB_3 not used |
64 | // CRC SNB_3 not used |
66 | serialNumber[4] = snrBuff[2]; // read SNB_2 |
65 | serialNumber[4] = rxbuff[2]; // read SNB_2 |
67 | // CRC SNB_2 not used |
66 | // CRC SNB_2 not used |
68 | serialNumber[3] = snrBuff[4]; // read SNB_1 |
67 | serialNumber[3] = rxbuff[4]; // read SNB_1 |
69 | // CRC SNB_1 not used |
68 | // CRC SNB_1 not used |
70 | serialNumber[2] = snrBuff[7]; // read SNB_0 |
69 | serialNumber[2] = rxbuff[7]; // read SNB_0 |
71 | // CRC SNB_0 not used |
70 | // CRC SNB_0 not used |
72 | 71 | ||
73 | // read memory location 2 |
72 | // read memory location 2 |
74 | const uint8_t buff2 = {0xFC,0xC9}; |
73 | const uint8_t buff2[] = {0xFC,0xC9}; |
75 | 74 | ||
76 | err = i2cMasterTransmit(&I2CD2, I2C_ADD, buff2, sizeof(buff2), &snRbuff, 6); |
75 | err = i2cMasterTransmit(m_driver, I2C_ADD, buff2, sizeof(buff2), &rxbuff[0], 6); |
77 | 76 | ||
78 | 77 | ||
79 | serialNumber[1] = snRbuff[0]; // read SNC_1 |
78 | serialNumber[1] = rxbuff[0]; // read SNC_1 |
80 | serialNumber[0] = snRbuff[1]; // read SNC_0 |
79 | serialNumber[0] = rxbuff[1]; // read SNC_0 |
81 | serialNumber[7] = snRbuff[3]; // read SNA_1 |
80 | serialNumber[7] = rxbuff[3]; // read SNA_1 |
82 | serialNumber[6] = snRbuff[4]; // read SNA_0 |
81 | serialNumber[6] = rxbuff[4]; // read SNA_0 |
83 | 82 | ||
84 | return serialNumber[return_sn]; |
83 | return MSG_OK; |
85 | } |
84 | } |
86 | 85 | ||
87 | //============================================================================== |
86 | //============================================================================== |
88 | // PRIVATE |
87 | // PRIVATE |
89 | //============================================================================== |
88 | //============================================================================== |
Line 92... | Line 91... | ||
92 | uint8_t checksum; |
91 | uint8_t checksum; |
93 | uint8_t data[2]; |
92 | uint8_t data[2]; |
94 | uint16_t result; |
93 | uint16_t result; |
95 | 94 | ||
96 | uint8_t rxBuff[3]; |
95 | uint8_t rxBuff[3]; |
- | 96 | ||
97 | err = i2cMasterTransmit(&I2CD2, I2C_ADD, &command, 1, &rxRbuff, 3); |
97 | msg_t err = i2cMasterTransmit(m_driver, I2C_ADD, &command, 1, &rxBuff[0], 3); |
98 | if (err != MSG_OK) |
98 | if (err != MSG_OK) |
99 | 99 | ||
100 | data[0] = rxBuff[0]; // read data (MSB) |
100 | data[0] = rxBuff[0]; // read data (MSB) |
101 | data[1] = rxBuff[1]; // read data (LSB) |
101 | data[1] = rxBuff[1]; // read data (LSB) |
102 | checksum = rxBuff[2]; // read checksum |
102 | checksum = rxBuff[2]; // read checksum |