-
Notifications
You must be signed in to change notification settings - Fork 13
Home
If you want to edit any of these pages, you need to be added as a contributer to the project. See this page, Writing documentation, for more information on editing this wiki, as well as just some basic stuff about documenting your code. The main objective is simply to make sure your code will be useful long after you graduate.
Although it can be edited through the Github website, you must use a syntax known as "Markdown." It is meant to be readable both in its rendered and raw form. For more info check out this page for the syntax and explanation. Furthermore, GitHub does not use this standard explicitly, and has some changes to be aware of. GitHub uses an implementation called Gollum. Scroll to the middle of the README file in the Gollum GitHub page for reference to some of the non-standard features GitHub provides.
There are a number of things I wish to cover with this documentation, for anything you might be planning, checkout TODO and add it to the list. Please avoid creating stub pages unless you have some useful content to add.
- Using the command line: Technically you don't need to use it, but you should try to embrace it
- Setting up your programming environment: Compile the official QMAST repository and libraries for the first time
Code Design goals and/or the philosophy I would like to follow for this project. Feel free to check this page out and contribute, comment, verbally trash, correct, whatever.
High Level Design plans for the software, at a relatively high level outlining how everything will interact.
- Computer Setup: The two main computers in the Bay
- Batteries: Charging, maintenance, warnings
Here we have a list of devices which need to have a simple method for access, abstracting away all of the details of their operation. In order to get libraries to work within Arduino, check out these notes on the directory structure.
- AIRMAR PB100 (Wind Sensor)
- Pololu Micro Servo Controller
- Pololu DC Motor Controller
- libelium 3G Module for Arduino (Cellular Communication)
- Adafruit GPS/SD Card Shield (Data Logging)
- XBee Local Wireless communication
- Raspberry Pi
- ALLTEK AIS Receiver
- Angle Sensor Module
Arduino is a combination of many open source projects, this is good since Arduino hides away a lot of complexity, which we will need to dig into whenever something doesn't work.
Check this page, Arduino Library Structure, on how to write a library for Arduino
- Performing Arduino IDE tasks manually: Compile the program completely independent of the Arduino IDE
- Managing Available Memory: Keeping track of the memory used and available to the program at any time
- Multitasking on the Arduino: Using locking to let the Arduino do other things while waiting on a task
- Cellular Communication: Strategy and background around how to use the cellular modem
- Satellite Communication: About what it takes to send data over the satellite network
- Serial Communication: Info on the different protocols and usage