Ivan Kravets
/
OneWireTest
version for testing OneWire library
#include "mbed.h" #include "OneWire.h" OneWire owBus(p21); int main() { char _id[16]; DeviceAddresses* devAddresses = owBus.getFoundDevAddresses(); uint8_t foundNum = owBus.getFoundDevNum(); printf("OneWire: found %d devices\r\n", foundNum); while(1) { OneWireDeviceTemperature::startConversationForAll(&owBus, OWTEMP_11_BIT); for (uint8_t i = 0; i < foundNum; i++) { OneWireDevice* owDevice = OneWireDeviceFactory::init(&owBus, (*devAddresses)[i]); if (owDevice->getFamily() != ONEWIRE_DS18B20_FAMILY) // currently only DS18B20 supports continue; owDevice->generateId(_id); printf("OneWire: device #%s = %.4f*C\r\n", _id, (float) owDevice->sendGetCommand(GET_TEMPERATURE)); delete owDevice; } wait(5); } }
main.cpp@1:873cb457746e, 2012-12-18 (annotated)
- Committer:
- ivank
- Date:
- Tue Dec 18 12:16:06 2012 +0000
- Revision:
- 1:873cb457746e
- Parent:
- 0:8446fa47e6dd
updated OneWire Lib
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ivank | 0:8446fa47e6dd | 1 | #include "mbed.h" |
ivank | 0:8446fa47e6dd | 2 | #include "OneWire.h" |
ivank | 0:8446fa47e6dd | 3 | |
ivank | 0:8446fa47e6dd | 4 | OneWire owBus(p21); |
ivank | 0:8446fa47e6dd | 5 | |
ivank | 0:8446fa47e6dd | 6 | int main() |
ivank | 0:8446fa47e6dd | 7 | { |
ivank | 0:8446fa47e6dd | 8 | char _id[16]; |
ivank | 0:8446fa47e6dd | 9 | DeviceAddresses* devAddresses = owBus.getFoundDevAddresses(); |
ivank | 0:8446fa47e6dd | 10 | uint8_t foundNum = owBus.getFoundDevNum(); |
ivank | 0:8446fa47e6dd | 11 | printf("OneWire: found %d devices\r\n", foundNum); |
ivank | 0:8446fa47e6dd | 12 | |
ivank | 0:8446fa47e6dd | 13 | while(1) { |
ivank | 0:8446fa47e6dd | 14 | OneWireDeviceTemperature::startConversationForAll(&owBus, OWTEMP_11_BIT); |
ivank | 0:8446fa47e6dd | 15 | for (uint8_t i = 0; i < foundNum; i++) { |
ivank | 0:8446fa47e6dd | 16 | OneWireDevice* owDevice = OneWireDeviceFactory::init(&owBus, (*devAddresses)[i]); |
ivank | 0:8446fa47e6dd | 17 | |
ivank | 0:8446fa47e6dd | 18 | if (owDevice->getFamily() != ONEWIRE_DS18B20_FAMILY) // currently only DS18B20 supports |
ivank | 0:8446fa47e6dd | 19 | continue; |
ivank | 0:8446fa47e6dd | 20 | |
ivank | 0:8446fa47e6dd | 21 | owDevice->generateId(_id); |
ivank | 0:8446fa47e6dd | 22 | printf("OneWire: device #%s = %.4f*C\r\n", _id, (float) owDevice->sendGetCommand(GET_TEMPERATURE)); |
ivank | 0:8446fa47e6dd | 23 | delete owDevice; |
ivank | 0:8446fa47e6dd | 24 | } |
ivank | 0:8446fa47e6dd | 25 | |
ivank | 0:8446fa47e6dd | 26 | wait(5); |
ivank | 0:8446fa47e6dd | 27 | } |
ivank | 0:8446fa47e6dd | 28 | } |