Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
weatherbox:firmware:firmware_user_manual [2016/05/05 23:12] rwalser [Full Integration Test] |
weatherbox:firmware:firmware_user_manual [2021/09/19 21:59] (current) |
||
---|---|---|---|
Line 359: | Line 359: | ||
* ICSP programmer (if "burn the bootloader" wasn't previously run) | * ICSP programmer (if "burn the bootloader" wasn't previously run) | ||
__Test Environment__: | __Test Environment__: | ||
- | - Plug the battery and the Xbee(Router) into the Apple board | + | * If the bootloader was not burnt |
- | - Attach the Xbee(Coordinator) to the Xbee Shield and plug that into your computer using the USB cable | + | - Connect the ICSP device to the computer and board |
- | - Open XCTU on your computer | + | - Open Arduino IDE |
- | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | + | - Select the board Arduino UNO |
- | * Switch to the "Console" and "Connect" the Xbee to the network | + | - Select the correct programmer (AVRISP mkII) |
- | * Observe the "asdf" window for packets to be received | + | - Burn the bootloader |
+ | * With the bootloader burnt | ||
+ | - Plug the battery and the Xbee(Router) into the Apple board | ||
+ | - Attach the Xbee(Coordinator) to the Xbee breakout board and plug that into your computer using the USB cable | ||
+ | - Open XCTU on your computer | ||
+ | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | ||
+ | * Switch to the "Console" and "Connect" the Xbee to the network | ||
+ | * Observe the Console log for packets to be received | ||
+ | - Connect the Apple board to the computer using the USB | ||
+ | - In Arduino IDE, under Tools check: | ||
+ | * Board is set to Arduino UNO | ||
+ | * Port is set to the specific USB port that the programmer is plugged into | ||
+ | * Programmer is set to AVRISP mkII | ||
+ | - In config.h verify that only macro "APPLE" is defined | ||
+ | - Run a test compile to ensure libraries are found and no compile-time errors occur | ||
+ | - Upload program to board | ||
__Expected Results__: | __Expected Results__: | ||
- | * "asdf" window should display "Received Packet" in red font every ~60 seconds | + | * Console log should display "Received Packet" in red font ever ~5 seconds |
+ | * UART should contain the string "test yes" | ||
+ | * BINARY should contain: | ||
+ | * Some API packet coding identification | ||
+ | * Schema number: 01 | ||
+ | * Hex code for the Microcontroller address | ||
+ | * Hex code for up time of the program | ||
+ | * Hex code for overflow (if occurred) otherwise: 00 | ||
+ | * Hex code for n count: 0A | ||
+ | * Hex code for Battery mV: 01 | ||
+ | * Hex code for Panel mV: 02 | ||
+ | * Hex code for Pressure: 04 | ||
+ | * Hex code for Temperature: 05 | ||
+ | * Hex code for Humidity: 06 | ||
+ | * Hex code for Solar Irradiance: 03 | ||
===Cranberry=== | ===Cranberry=== | ||
__Necessary Components__: | __Necessary Components__: | ||
Line 378: | Line 407: | ||
* ICSP programmer (if "burn the bootloader" wasn't previously run) | * ICSP programmer (if "burn the bootloader" wasn't previously run) | ||
__Test Environment__: | __Test Environment__: | ||
- | - Plug the battery and the Xbee (Router) into the Cranberry board | + | * If the bootloader was not burnt |
- | - Turn on the Cranberry board by flipping the switch to "ON" | + | - Connect the ICSP device to the computer and board |
- | - Attach the XBee (Coordinator) to the XBee Shield and plug that into your computer using the USB cable | + | - Open Arduino IDE |
- | - Open XCTU on your computer | + | - Select the board Arduino 3.3V 8MHz |
- | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | + | - Select the correct programmer (AVRISP mkII) |
- | * Switch to the "Console" and "Connect" the XBee to the network | + | - Burn the bootloader |
- | * Observe the "asdf" window for packets to be received | + | * With the bootloader burnt |
+ | - Plug the battery and the Xbee (Router) into the Cranberry board | ||
+ | - Turn on the Cranberry board by flipping the switch to "ON" | ||
+ | - Attach the XBee (Coordinator) to the XBee breakout board and plug that into your computer using the USB cable | ||
+ | - Open XCTU on your computer | ||
+ | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | ||
+ | * Switch to the "Console" and "Connect" the XBee to the network | ||
+ | * Observe the Console log for packets to be received | ||
+ | - Connect the FTDI programmer to the computer and board | ||
+ | - In Arduino IDE, under Tools check: | ||
+ | * Board is set to Arduino 3.3V 8MHz | ||
+ | * Port is set to the specific USB port that the programmer plugged into | ||
+ | * Programmer is set to AVRISP mkII | ||
+ | - In config.h verify that only macro "CRANBERRY" is defined | ||
+ | - Run a test compile to ensure libraries are found and no compile time errors occur | ||
+ | - Upload program to board | ||
__Expected Results__: | __Expected Results__: | ||
- | * "asdf" window should display "Received Packet" in red font every ~60 seconds | + | * Console log should display "Received Packet" in red font every ~5 seconds |
+ | * UART should contain the string "test yes" | ||
+ | * BINARY should contain: | ||
+ | * Some API packet coding identification | ||
+ | * Schema number: 01 | ||
+ | * Hex code for the Microcontroller address | ||
+ | * Hex code for up time of the program | ||
+ | * Hex code for overflow (if occurred) otherwise: 00 | ||
+ | * Hex code for n count: 0A | ||
+ | * Hex code for Battery mV: 01 | ||
+ | * Hex code for Panel mV: 02 | ||
+ | * Hex code for Pressure: 04 | ||
+ | * Hex code for Temperature: 05 | ||
+ | * Hex code for Humidity: 06 | ||
+ | * Hex code for Solar Irradiance: 03 | ||
===Dragon Fruit=== | ===Dragon Fruit=== | ||
__Necessary Components__: | __Necessary Components__: | ||
Line 398: | Line 456: | ||
* ICSP programmer (if "burn the bootloader" wasn't previously run) | * ICSP programmer (if "burn the bootloader" wasn't previously run) | ||
__Test Environment__: | __Test Environment__: | ||
- | - Plug the battery and the XBee (Router) into the Dragon Fruit board | + | * If the bootloader was not burnt |
- | - Turn on the Dragon Fruit board by flipping the switch to "ON" (Switch should be flipped towards the battery) | + | - Connect the ICSP device to the computer and board |
- | - Attach the XBee (Coordinator) to the XBee Shield and plug that into your computer using the USB cable | + | - Open Arduino IDE |
- | - Open XCTU on your computer | + | - Select the board Arduino UNO |
- | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | + | - Select the correct programmer (AVRISP mkII) |
- | * Switch to the "Console" and "Connect" the XBee to the network | + | - Burn the bootloader |
- | * Observe the "asdf" window for packets to be received | + | * With the bootloader burnt |
+ | - Plug the battery and the XBee (Router) into the Dragon Fruit board | ||
+ | - Turn on the Dragon Fruit board by flipping the switch to "ON" (Switch should be flipped towards the battery) | ||
+ | - Attach the XBee (Coordinator) to the XBee breakout board and plug that into your computer using the USB cable | ||
+ | - Open XCTU on your computer | ||
+ | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | ||
+ | * Switch to the "Console" and "Connect" the XBee to the network | ||
+ | * Observe the Console log for packets to be received | ||
+ | - Connect the FTDI programmer to the computer and board | ||
+ | - In Arduino IDE, under Tools check: | ||
+ | * Board is set to Arduino UNO | ||
+ | * Port is set to the USB port with the programmer plugged into it | ||
+ | * Programmer is set to AVRISP mkII | ||
+ | - In config.h verify that only macro "DRAGONFRUIT" is defined | ||
+ | - Run a test compile to ensure libraries are found and no compile time errors occur | ||
+ | - Upload program to board | ||
__Expected Results__: | __Expected Results__: | ||
- | * "asdf" window should display "Received Packet" in red font every ~60 seconds | + | * Console log window should display "Received Packet" in red font every ~5 seconds |
+ | * UART should contain the string "test yes" | ||
+ | * BINARY should contain: | ||
+ | * Some API packet coding identification | ||
+ | * Schema number: 01 | ||
+ | * Hex code for the Microcontroller address | ||
+ | * Hex code for up time of the program | ||
+ | * Hex code for overflow (if occurred) otherwise: 00 | ||
+ | * Hex code for n count: 0A | ||
+ | * Hex code for Battery mV: 01 | ||
+ | * Hex code for Panel mV: 02 | ||
+ | * Hex code for Pressure: 04 | ||
+ | * Hex code for Temperature: 05 | ||
+ | * Hex code for Humidity: 06 | ||
+ | * Hex code for Solar Irradiance: 03 | ||
---- | ---- | ||
Line 418: | Line 505: | ||
* XCTU software | * XCTU software | ||
* XBee breakout board and USB | * XBee breakout board and USB | ||
- | * Two properly configured XBees *See “Configuring XBees” under | + | * Two properly configured XBees *See “Configuring XBees” under "Resources" |
* Charged Battery | * Charged Battery | ||
* Floodlight (for Solar Irradiance & Temperature) | * Floodlight (for Solar Irradiance & Temperature) | ||
__Test Environment__: | __Test Environment__: | ||
+ | - Plug the battery and the Xbee(Router) into the Apple board | ||
+ | - Attach the Xbee(Coordinator) to the Xbee breakout board and plug that into your computer using the USB cable | ||
+ | - Open XCTU on your computer | ||
+ | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | ||
+ | * Switch to the "Console" and "Connect" the Xbee to the network | ||
+ | * Observe the Console log for packets to be received | ||
+ | - Connect the Apple board to the computer using the USB | ||
+ | - In Arduino IDE, under Tools check: | ||
+ | * Board is set to Arduino UNO | ||
+ | * Port is set to the specific USB port that the programmer is plugged into | ||
+ | * Programmer is set to AVRISP mkII | ||
+ | - In config.h verify that only macro "APPLE" is defined | ||
+ | - Run a test compile to ensure libraries are found and no compile-time errors occur | ||
+ | - Upload program to board | ||
__Expected Results__: | __Expected Results__: | ||
+ | * Using XCTU: | ||
+ | - In the Console log, verify that a packet is being received | ||
+ | - Examine the data within the received packet | ||
+ | * Data will be in Hexadecimal | ||
+ | * Requires conversion | ||
+ | - Data (within the REIS room) should be similar to the expected results of the Sensor Module Test | ||
+ | * With decryption script (XBee (Router) is connected to a computer with the decryption script running): | ||
+ | - Verify that a packet is being recieved | ||
+ | - Examine the converted data | ||
+ | - Data (within the REIS room) should be similar to the expected results of the Sensor Module Test | ||
===Cranberry=== | ===Cranberry=== | ||
__Necessary Components__: | __Necessary Components__: | ||
Line 432: | Line 541: | ||
* XCTU software | * XCTU software | ||
* XBee breakout board and USB | * XBee breakout board and USB | ||
- | * Two properly configured XBees *See “Configuring XBees” under | + | * Two properly configured XBees *See “Configuring XBees” under "Resources" |
* Charged Battery | * Charged Battery | ||
* Floodlight (for Solar Irradiance & Temperature) | * Floodlight (for Solar Irradiance & Temperature) | ||
__Test Environment__: | __Test Environment__: | ||
+ | - Plug the battery and the Xbee (Router) into the Cranberry board | ||
+ | - Turn on the Cranberry board by flipping the switch to "ON" | ||
+ | - Attach the XBee (Coordinator) to the XBee breakout board and plug that into your computer using the USB cable | ||
+ | - Open XCTU on your computer | ||
+ | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | ||
+ | * Switch to the "Console" and "Connect" the XBee to the network | ||
+ | * Observe the Console log for packets to be received | ||
+ | - Connect the FTDI programmer to the computer and board | ||
+ | - In Arduino IDE, under Tools check: | ||
+ | * Board is set to Arduino 3.3V 8MHz | ||
+ | * Port is set to the specific USB port that the programmer plugged into | ||
+ | * Programmer is set to AVRISP mkII | ||
+ | - In config.h verify that only macro "CRANBERRY" is defined | ||
+ | - Run a test compile to ensure libraries are found and no compile time errors occur | ||
+ | - Upload program to board | ||
__Expected Results__: | __Expected Results__: | ||
+ | * Using XCTU: | ||
+ | - In the Console log, verify that a packet is being received | ||
+ | - Examine the data within the received packet | ||
+ | * Data will be in Hexadecimal | ||
+ | * Requires conversion | ||
+ | - Data (within the REIS room) should be similar to the expected results of the Sensor Module Test | ||
+ | * With decryption script (XBee (Router) is connected to a computer with the decryption script running): | ||
+ | - Verify that a packet is being recieved | ||
+ | - Examine the converted data | ||
+ | - Data (within the REIS room) should be similar to the expected results of the Sensor Module Test | ||
===Dragon Fruit=== | ===Dragon Fruit=== | ||
__Necessary Components__: | __Necessary Components__: | ||
Line 446: | Line 578: | ||
* XCTU software | * XCTU software | ||
* XBee breakout board and USB | * XBee breakout board and USB | ||
- | * Two properly configured XBees *See “Configuring XBees” under | + | * Two properly configured XBees *See “Configuring XBees” under "Resources" |
* Charged Battery | * Charged Battery | ||
* Floodlight (for Solar Irradiance & Temperature) | * Floodlight (for Solar Irradiance & Temperature) | ||
__Test Environment__: | __Test Environment__: | ||
+ | - Plug the battery and the XBee (Router) into the Dragon Fruit board | ||
+ | - Turn on the Dragon Fruit board by flipping the switch to "ON" (Switch should be flipped towards the battery) | ||
+ | - Attach the XBee (Coordinator) to the XBee breakout board and plug that into your computer using the USB cable | ||
+ | - Open XCTU on your computer | ||
+ | * Click "Add Device" and select the corresponding USB port that your XBee is plugged into | ||
+ | * Switch to the "Console" and "Connect" the XBee to the network | ||
+ | * Observe the Console log for packets to be received | ||
+ | - Connect the FTDI programmer to the computer and board | ||
+ | - In Arduino IDE, under Tools check: | ||
+ | * Board is set to Arduino UNO | ||
+ | * Port is set to the USB port with the programmer plugged into it | ||
+ | * Programmer is set to AVRISP mkII | ||
+ | - In config.h verify that only macro "DRAGONFRUIT" is defined | ||
+ | - Run a test compile to ensure libraries are found and no compile time errors occur | ||
+ | - Upload program to board | ||
__Expected Results__: | __Expected Results__: | ||
+ | * Using XCTU: | ||
+ | - In the Console log, verify that a packet is being received | ||
+ | - Examine the data within the received packet | ||
+ | * Data will be in Hexadecimal | ||
+ | * Requires conversion | ||
+ | - Data (within the REIS room) should be similar to the expected results of the Sensor Module Test | ||
+ | * With decryption script (XBee (Router) is connected to a computer with the decryption script running): | ||
+ | - Verify that a packet is being recieved | ||
+ | - Examine the converted data | ||
+ | - Data (within the REIS room) should be similar to the expected results of the Sensor Module Test | ||
---- | ---- | ||
Line 498: | Line 654: | ||
* Generally, unit tests are a design specification of how a certain behavior should work, NOT a list of observations of everything the code happens to do | * Generally, unit tests are a design specification of how a certain behavior should work, NOT a list of observations of everything the code happens to do | ||
* The overall architecture of your code should support testing units before using unit tests | * The overall architecture of your code should support testing units before using unit tests | ||
+ | |||
---- | ---- | ||