-
Notifications
You must be signed in to change notification settings - Fork 2
Improvements
#possible improvements
Whilst we were developing this project, our focus has been on getting the system operational. There are quite a number of improvements and optimizations that can be made.
If for instance battery life is a consideration, the use of interrupts would be highly beneficial. This project exclusively makes use of polling which is generally simple to implement although not very efficient in a number of ways. Interrupt driven software can make use of the sleep functions conserving power as an example the main loop can sleep whilst waiting for an interrupt which then runs the interrupt handler.
Another "self criticism" of our software is not making use of pointers for a more efficient use of memory which is especially the case with the smaller Arduinos. The use of better memory management techniques allows more devices to be connected and or more complexity to be built in.
A better data error checking regime will better detect and correct problems with the data before transmission would be a helpful addition to the software
The Client_NetMesh_Ana_gps.ino file in the git repositry is a classic example of a failed effort due to the amount of memory used. It is included as an example for someone to optimize or use on a more powerful arduino.
Software for the Raspberry Pi would benefit from a generic point of view from using Configuration files.
Introduction
Project Components
Troubleshooting
Further Information