Ina hackathon 2nd
Dependencies: ADXL345_I2C Chainable_RGB_LED EEAB-P1 MMA8652FC Sht31 TinyGPS mbed
Fork of ina-hack-test by
main.cpp@3:1df2b5938eb7, 2017-08-09 (annotated)
- Committer:
- sonson
- Date:
- Wed Aug 09 06:02:07 2017 +0000
- Revision:
- 3:1df2b5938eb7
- Parent:
- 1:195da8230785
- Child:
- 5:09935c0aa297
???????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
koyo_take | 0:97a57be77fbb | 1 | #include "mbed.h" |
koyo_take | 0:97a57be77fbb | 2 | #include "TinyGPS.h" |
koyo_take | 0:97a57be77fbb | 3 | #include "Eeabp1.h" |
koyo_take | 0:97a57be77fbb | 4 | |
koyo_take | 1:195da8230785 | 5 | //#define TEST_ANALOG |
koyo_take | 1:195da8230785 | 6 | #define TEST_TEMP_HUMID |
koyo_take | 1:195da8230785 | 7 | #define TEST_ACC |
koyo_take | 1:195da8230785 | 8 | |
koyo_take | 1:195da8230785 | 9 | #if defined(TEST_DIGITAL_IN_INTTERUPT) |
koyo_take | 1:195da8230785 | 10 | Eeabp1 *gp; |
koyo_take | 1:195da8230785 | 11 | bool led_on = true; |
koyo_take | 1:195da8230785 | 12 | |
koyo_take | 1:195da8230785 | 13 | void flip() { |
koyo_take | 1:195da8230785 | 14 | if (led_on) |
koyo_take | 1:195da8230785 | 15 | gp->setLedState(LED_OFF); |
koyo_take | 1:195da8230785 | 16 | else |
koyo_take | 1:195da8230785 | 17 | gp->setLedState(LED_ON); |
koyo_take | 1:195da8230785 | 18 | led_on = !led_on; |
koyo_take | 1:195da8230785 | 19 | } |
koyo_take | 1:195da8230785 | 20 | #endif /* defined(TEST_DIGITAL_IN_INTTERUPT) */ |
koyo_take | 1:195da8230785 | 21 | |
koyo_take | 0:97a57be77fbb | 22 | int main(void) |
koyo_take | 0:97a57be77fbb | 23 | { |
koyo_take | 0:97a57be77fbb | 24 | Eeabp1 board; |
sonson | 3:1df2b5938eb7 | 25 | |
koyo_take | 0:97a57be77fbb | 26 | int ret = 0; |
koyo_take | 0:97a57be77fbb | 27 | |
koyo_take | 1:195da8230785 | 28 | #if defined(TEST_DIGITAL_IN_INTTERUPT) |
koyo_take | 1:195da8230785 | 29 | gp = &board; |
koyo_take | 1:195da8230785 | 30 | led_on = true; |
koyo_take | 1:195da8230785 | 31 | #endif /* defined(TEST_DIGITAL_IN_INTTERUPT) */ |
koyo_take | 1:195da8230785 | 32 | |
koyo_take | 1:195da8230785 | 33 | board.setLedState(LED_ON); |
koyo_take | 0:97a57be77fbb | 34 | board.debug("Hello ina-hack!\r\n"); |
koyo_take | 0:97a57be77fbb | 35 | |
koyo_take | 0:97a57be77fbb | 36 | board.setGrovePower(true); |
koyo_take | 1:195da8230785 | 37 | #if defined(TEST_DIGITAL_OUT) || defined(TEST_DIGITAL_IN) || defined(TEST_DIGITAL_IN_INTTERUPT) |
koyo_take | 1:195da8230785 | 38 | board.setGrovePortType(GROVE_CH1, GROVE_DIO); |
koyo_take | 1:195da8230785 | 39 | board.setGrovePortType(GROVE_CH2, GROVE_DIO); |
koyo_take | 1:195da8230785 | 40 | #endif |
koyo_take | 1:195da8230785 | 41 | #if defined(TEST_DIGITAL_OUT) |
koyo_take | 1:195da8230785 | 42 | board.setGroveDioDirection(GROVE_CH1, GROVE_DIO_OUT); |
koyo_take | 1:195da8230785 | 43 | board.setGroveDioDirection(GROVE_CH2, GROVE_DIO_OUT); |
koyo_take | 1:195da8230785 | 44 | #endif /* defined(TEST_DIGITAL_OUT) */ |
koyo_take | 1:195da8230785 | 45 | #if defined(TEST_DIGITAL_IN) |
koyo_take | 1:195da8230785 | 46 | board.setGroveDioDirection(GROVE_CH1, GROVE_DIO_IN); |
koyo_take | 1:195da8230785 | 47 | board.setGroveDioDirection(GROVE_CH2, GROVE_DIO_IN); |
koyo_take | 1:195da8230785 | 48 | #endif /* defined(TEST_DIGITAL_IN) */ |
koyo_take | 1:195da8230785 | 49 | #if defined(TEST_DIGITAL_IN_INTTERUPT) |
koyo_take | 1:195da8230785 | 50 | board.setGroveDioDirection(GROVE_CH1, GROVE_DIO_IN, flip); |
koyo_take | 1:195da8230785 | 51 | board.setGroveDioDirection(GROVE_CH2, GROVE_DIO_IN, flip); |
koyo_take | 1:195da8230785 | 52 | #endif /* defined(TEST_DIGITAL_IN_INTTERUPT) */ |
koyo_take | 1:195da8230785 | 53 | #if defined(TEST_ANALOG) |
koyo_take | 1:195da8230785 | 54 | board.setGrovePortType(GROVE_CH1, GROVE_ANALOG); |
koyo_take | 1:195da8230785 | 55 | board.setGrovePortType(GROVE_CH2, GROVE_ANALOG); |
koyo_take | 1:195da8230785 | 56 | #endif /* defined(TEST_ANALOG) */ |
koyo_take | 1:195da8230785 | 57 | |
koyo_take | 1:195da8230785 | 58 | #if defined(TEST_LORA) |
koyo_take | 0:97a57be77fbb | 59 | ret = board.setLoRaPower(true); |
koyo_take | 0:97a57be77fbb | 60 | if (ret != 0) { |
koyo_take | 0:97a57be77fbb | 61 | board.debug("error %d\r\n", ret); |
koyo_take | 0:97a57be77fbb | 62 | } |
koyo_take | 1:195da8230785 | 63 | #endif /* defined(TEST_LORA) */ |
koyo_take | 1:195da8230785 | 64 | #if defined(TEST_TEMP_HUMID) |
koyo_take | 1:195da8230785 | 65 | ret = board.enableTempHumidSensor(); |
koyo_take | 1:195da8230785 | 66 | if (ret != 0) |
koyo_take | 1:195da8230785 | 67 | board.debug("error %d\r\n", ret); |
koyo_take | 1:195da8230785 | 68 | #endif /* TEST_TEMP_HUMID */ |
koyo_take | 1:195da8230785 | 69 | #if defined(TEST_ACC) |
koyo_take | 1:195da8230785 | 70 | ret = board.enableAccelerometer(); |
koyo_take | 1:195da8230785 | 71 | if (ret != 0) |
koyo_take | 1:195da8230785 | 72 | board.debug("error %d\r\n", ret); |
koyo_take | 1:195da8230785 | 73 | #endif /* defined(TEST_ACC) */ |
koyo_take | 0:97a57be77fbb | 74 | |
koyo_take | 1:195da8230785 | 75 | #if defined(TEST_LORA) |
koyo_take | 0:97a57be77fbb | 76 | int i = 0; |
koyo_take | 1:195da8230785 | 77 | #endif /* defined(TEST_LORA) */ |
koyo_take | 1:195da8230785 | 78 | #if defined(TEST_DIGITAL_OUT) |
koyo_take | 1:195da8230785 | 79 | bool on = true; |
koyo_take | 1:195da8230785 | 80 | #endif /* defined(TEST_DIGITAL_OUT) */ |
koyo_take | 0:97a57be77fbb | 81 | do { |
koyo_take | 1:195da8230785 | 82 | wait(2); |
koyo_take | 0:97a57be77fbb | 83 | board.loop(); |
koyo_take | 1:195da8230785 | 84 | #if defined(TEST_DIGITAL_OUT) |
koyo_take | 1:195da8230785 | 85 | if (on) { |
koyo_take | 1:195da8230785 | 86 | board.setGroveDio(GROVE_CH1, GROVE_DIO_HIGH); |
koyo_take | 1:195da8230785 | 87 | board.setGroveDio(GROVE_CH2, GROVE_DIO_LOW); |
koyo_take | 1:195da8230785 | 88 | } else { |
koyo_take | 1:195da8230785 | 89 | board.setGroveDio(GROVE_CH1, GROVE_DIO_LOW); |
koyo_take | 1:195da8230785 | 90 | board.setGroveDio(GROVE_CH2, GROVE_DIO_HIGH); |
koyo_take | 1:195da8230785 | 91 | } |
koyo_take | 1:195da8230785 | 92 | on = !on; |
koyo_take | 1:195da8230785 | 93 | #endif /* defined(TEST_DIGITAL_OUT) */ |
koyo_take | 1:195da8230785 | 94 | #if defined(TEST_DIGITAL_IN) |
koyo_take | 1:195da8230785 | 95 | board.debug("------------\r\n"); |
koyo_take | 1:195da8230785 | 96 | board.debug("P1 S1: %d\r\n", board.getGroveDio(GROVE_CH1, GROVE_SIG1)); |
koyo_take | 1:195da8230785 | 97 | board.debug("P1 S2: %d\r\n", board.getGroveDio(GROVE_CH1, GROVE_SIG2)); |
koyo_take | 1:195da8230785 | 98 | board.debug("P2 S1: %d\r\n", board.getGroveDio(GROVE_CH2, GROVE_SIG1)); |
koyo_take | 1:195da8230785 | 99 | board.debug("P2 S2: %d\r\n", board.getGroveDio(GROVE_CH2, GROVE_SIG2)); |
koyo_take | 1:195da8230785 | 100 | #endif /* defined(TEST_DIGITAL_IN) */ |
koyo_take | 1:195da8230785 | 101 | #if defined(TEST_ANALOG) |
koyo_take | 1:195da8230785 | 102 | board.debug("------------\r\n"); |
koyo_take | 1:195da8230785 | 103 | board.debug("P1 S1: %2.2f\r\n", board.getGroveAnalog(GROVE_CH1, GROVE_SIG1)); |
koyo_take | 1:195da8230785 | 104 | board.debug("P1 S2: %2.2f\r\n", board.getGroveAnalog(GROVE_CH1, GROVE_SIG2)); |
koyo_take | 1:195da8230785 | 105 | board.debug("P2 S1: %2.2f\r\n", board.getGroveAnalog(GROVE_CH2, GROVE_SIG1)); |
koyo_take | 1:195da8230785 | 106 | board.debug("P2 S2: %2.2f\r\n", board.getGroveAnalog(GROVE_CH2, GROVE_SIG2)); |
koyo_take | 1:195da8230785 | 107 | #endif /* defined(TEST_ANALOG) */ |
koyo_take | 1:195da8230785 | 108 | #if defined(TEST_TEMP_HUMID) |
koyo_take | 1:195da8230785 | 109 | board.debug("------------\r\n"); |
koyo_take | 1:195da8230785 | 110 | board.debug("Temp: %2.2f, Humid: %2.2f\r\n", board.getTemp(), board.getHumid()); |
koyo_take | 1:195da8230785 | 111 | #endif /* defined(TEST_ANALOG) */ |
koyo_take | 1:195da8230785 | 112 | #if defined(TEST_ACC) |
koyo_take | 1:195da8230785 | 113 | int x, y, z; |
koyo_take | 1:195da8230785 | 114 | board.getAcc(&x, &y, &z); |
koyo_take | 1:195da8230785 | 115 | board.debug("------------\r\n"); |
koyo_take | 1:195da8230785 | 116 | board.debug("X: %d, Y: %d, Z: %d\r\n", x, y, z); |
koyo_take | 1:195da8230785 | 117 | #endif /* defined(TEST_ACC) */ |
koyo_take | 1:195da8230785 | 118 | |
koyo_take | 1:195da8230785 | 119 | #if defined(TEST_LORA) |
koyo_take | 0:97a57be77fbb | 120 | board.sendLoRaString("hello %d", i++); |
koyo_take | 1:195da8230785 | 121 | #endif /* defined(TEST_LORA) */ |
koyo_take | 0:97a57be77fbb | 122 | } while(true); |
koyo_take | 0:97a57be77fbb | 123 | } |