HAHA! commit
Initial commit
This commit is contained in:
commit
2e9b87dab6
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.DS_Store
|
||||
130
of/waspmote_spacebrew_bridge/.gitignore
vendored
Normal file
130
of/waspmote_spacebrew_bridge/.gitignore
vendored
Normal file
@ -0,0 +1,130 @@
|
||||
#########################
|
||||
# .gitignore file for Xcode4 / OS X Source projects
|
||||
#
|
||||
# Version 2.0
|
||||
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects
|
||||
#
|
||||
# 2013 updates:
|
||||
# - fixed the broken "save personal Schemes"
|
||||
#
|
||||
# NB: if you are storing "built" products, this WILL NOT WORK,
|
||||
# and you should use a different .gitignore (or none at all)
|
||||
# This file is for SOURCE projects, where there are many extra
|
||||
# files that we want to exclude
|
||||
#
|
||||
#########################
|
||||
|
||||
#####
|
||||
# OS X temporary files that should never be committed
|
||||
|
||||
.DS_Store
|
||||
*.swp
|
||||
*.lock
|
||||
profile
|
||||
|
||||
|
||||
####
|
||||
# Xcode temporary files that should never be committed
|
||||
#
|
||||
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this...
|
||||
|
||||
*~.nib
|
||||
|
||||
|
||||
####
|
||||
# Xcode build files -
|
||||
#
|
||||
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData"
|
||||
|
||||
DerivedData/
|
||||
|
||||
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build"
|
||||
|
||||
build/
|
||||
|
||||
bin/
|
||||
|
||||
#####
|
||||
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups)
|
||||
#
|
||||
# This is complicated:
|
||||
#
|
||||
# SOMETIMES you need to put this file in version control.
|
||||
# Apple designed it poorly - if you use "custom executables", they are
|
||||
# saved in this file.
|
||||
# 99% of projects do NOT use those, so they do NOT want to version control this file.
|
||||
# ..but if you're in the 1%, comment out the line "*.pbxuser"
|
||||
|
||||
*.pbxuser
|
||||
*.mode1v3
|
||||
*.mode2v3
|
||||
*.perspectivev3
|
||||
# NB: also, whitelist the default ones, some projects need to use these
|
||||
!default.pbxuser
|
||||
!default.mode1v3
|
||||
!default.mode2v3
|
||||
!default.perspectivev3
|
||||
|
||||
|
||||
####
|
||||
# Xcode 4 - semi-personal settings
|
||||
#
|
||||
#
|
||||
# OPTION 1: ---------------------------------
|
||||
# throw away ALL personal settings (including custom schemes!
|
||||
# - unless they are "shared")
|
||||
#
|
||||
# NB: this is exclusive with OPTION 2 below
|
||||
xcuserdata
|
||||
|
||||
# OPTION 2: ---------------------------------
|
||||
# get rid of ALL personal settings, but KEEP SOME OF THEM
|
||||
# - NB: you must manually uncomment the bits you want to keep
|
||||
#
|
||||
# NB: this is exclusive with OPTION 1 above
|
||||
#
|
||||
#xcuserdata/**/*
|
||||
|
||||
# (requires option 2 above): Personal Schemes
|
||||
#
|
||||
#!xcuserdata/**/xcschemes/*
|
||||
|
||||
####
|
||||
# XCode 4 workspaces - more detailed
|
||||
#
|
||||
# Workspaces are important! They are a core feature of Xcode - don't exclude them :)
|
||||
#
|
||||
# Workspace layout is quite spammy. For reference:
|
||||
#
|
||||
# /(root)/
|
||||
# /(project-name).xcodeproj/
|
||||
# project.pbxproj
|
||||
# /project.xcworkspace/
|
||||
# contents.xcworkspacedata
|
||||
# /xcuserdata/
|
||||
# /(your name)/xcuserdatad/
|
||||
# UserInterfaceState.xcuserstate
|
||||
# /xcsshareddata/
|
||||
# /xcschemes/
|
||||
# (shared scheme name).xcscheme
|
||||
# /xcuserdata/
|
||||
# /(your name)/xcuserdatad/
|
||||
# (private scheme).xcscheme
|
||||
# xcschememanagement.plist
|
||||
#
|
||||
#
|
||||
|
||||
####
|
||||
# Xcode 4 - Deprecated classes
|
||||
#
|
||||
# Allegedly, if you manually "deprecate" your classes, they get moved here.
|
||||
#
|
||||
# We're using source-control, so this is a "feature" that we do not want!
|
||||
|
||||
*.moved-aside
|
||||
|
||||
|
||||
####
|
||||
# UNKNOWN: recommended by others, but I can't discover what these files are
|
||||
#
|
||||
# ...none. Everything is now explained.
|
||||
13
of/waspmote_spacebrew_bridge/Makefile
Normal file
13
of/waspmote_spacebrew_bridge/Makefile
Normal file
@ -0,0 +1,13 @@
|
||||
# Attempt to load a config.make file.
|
||||
# If none is found, project defaults in config.project.make will be used.
|
||||
ifneq ($(wildcard config.make),)
|
||||
include config.make
|
||||
endif
|
||||
|
||||
# make sure the the OF_ROOT location is defined
|
||||
ifndef OF_ROOT
|
||||
OF_ROOT=../../..
|
||||
endif
|
||||
|
||||
# call the project makefile!
|
||||
include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk
|
||||
17
of/waspmote_spacebrew_bridge/Project.xcconfig
Normal file
17
of/waspmote_spacebrew_bridge/Project.xcconfig
Normal file
@ -0,0 +1,17 @@
|
||||
//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.
|
||||
//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED
|
||||
OF_PATH = ../../../of_v0.8.0_osx_release
|
||||
|
||||
//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE
|
||||
#include "../../../of_v0.8.0_osx_release/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig"
|
||||
|
||||
//ICONS - NEW IN 0072
|
||||
ICON_NAME_DEBUG = icon-debug.icns
|
||||
ICON_NAME_RELEASE = icon.icns
|
||||
ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/
|
||||
|
||||
//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to:
|
||||
//ICON_FILE_PATH = bin/data/
|
||||
|
||||
OTHER_LDFLAGS = $(OF_CORE_LIBS)
|
||||
HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
|
||||
2
of/waspmote_spacebrew_bridge/addons.make
Normal file
2
of/waspmote_spacebrew_bridge/addons.make
Normal file
@ -0,0 +1,2 @@
|
||||
ofxLibwebsockets
|
||||
ofxSpacebrew
|
||||
142
of/waspmote_spacebrew_bridge/config.make
Normal file
142
of/waspmote_spacebrew_bridge/config.make
Normal file
@ -0,0 +1,142 @@
|
||||
################################################################################
|
||||
# CONFIGURE PROJECT MAKEFILE (optional)
|
||||
# This file is where we make project specific configurations.
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# OF ROOT
|
||||
# The location of your root openFrameworks installation
|
||||
# (default) OF_ROOT = ../../..
|
||||
################################################################################
|
||||
# OF_ROOT = ../../..
|
||||
|
||||
################################################################################
|
||||
# PROJECT ROOT
|
||||
# The location of the project - a starting place for searching for files
|
||||
# (default) PROJECT_ROOT = . (this directory)
|
||||
#
|
||||
################################################################################
|
||||
# PROJECT_ROOT = .
|
||||
|
||||
################################################################################
|
||||
# PROJECT SPECIFIC CHECKS
|
||||
# This is a project defined section to create internal makefile flags to
|
||||
# conditionally enable or disable the addition of various features within
|
||||
# this makefile. For instance, if you want to make changes based on whether
|
||||
# GTK is installed, one might test that here and create a variable to check.
|
||||
################################################################################
|
||||
# None
|
||||
|
||||
################################################################################
|
||||
# PROJECT EXTERNAL SOURCE PATHS
|
||||
# These are fully qualified paths that are not within the PROJECT_ROOT folder.
|
||||
# Like source folders in the PROJECT_ROOT, these paths are subject to
|
||||
# exlclusion via the PROJECT_EXLCUSIONS list.
|
||||
#
|
||||
# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank)
|
||||
#
|
||||
# Note: Leave a leading space when adding list items with the += operator
|
||||
################################################################################
|
||||
# PROJECT_EXTERNAL_SOURCE_PATHS =
|
||||
|
||||
################################################################################
|
||||
# PROJECT EXCLUSIONS
|
||||
# These makefiles assume that all folders in your current project directory
|
||||
# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations
|
||||
# to look for source code. The any folders or files that match any of the
|
||||
# items in the PROJECT_EXCLUSIONS list below will be ignored.
|
||||
#
|
||||
# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete
|
||||
# string unless teh user adds a wildcard (%) operator to match subdirectories.
|
||||
# GNU make only allows one wildcard for matching. The second wildcard (%) is
|
||||
# treated literally.
|
||||
#
|
||||
# (default) PROJECT_EXCLUSIONS = (blank)
|
||||
#
|
||||
# Will automatically exclude the following:
|
||||
#
|
||||
# $(PROJECT_ROOT)/bin%
|
||||
# $(PROJECT_ROOT)/obj%
|
||||
# $(PROJECT_ROOT)/%.xcodeproj
|
||||
#
|
||||
# Note: Leave a leading space when adding list items with the += operator
|
||||
################################################################################
|
||||
# PROJECT_EXCLUSIONS =
|
||||
|
||||
################################################################################
|
||||
# PROJECT LINKER FLAGS
|
||||
# These flags will be sent to the linker when compiling the executable.
|
||||
#
|
||||
# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs
|
||||
#
|
||||
# Note: Leave a leading space when adding list items with the += operator
|
||||
################################################################################
|
||||
|
||||
# Currently, shared libraries that are needed are copied to the
|
||||
# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to
|
||||
# add a runtime path to search for those shared libraries, since they aren't
|
||||
# incorporated directly into the final executable application binary.
|
||||
# TODO: should this be a default setting?
|
||||
# PROJECT_LDFLAGS=-Wl,-rpath=./libs
|
||||
|
||||
################################################################################
|
||||
# PROJECT DEFINES
|
||||
# Create a space-delimited list of DEFINES. The list will be converted into
|
||||
# CFLAGS with the "-D" flag later in the makefile.
|
||||
#
|
||||
# (default) PROJECT_DEFINES = (blank)
|
||||
#
|
||||
# Note: Leave a leading space when adding list items with the += operator
|
||||
################################################################################
|
||||
# PROJECT_DEFINES =
|
||||
|
||||
################################################################################
|
||||
# PROJECT CFLAGS
|
||||
# This is a list of fully qualified CFLAGS required when compiling for this
|
||||
# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS
|
||||
# defined in your platform specific core configuration files. These flags are
|
||||
# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below.
|
||||
#
|
||||
# (default) PROJECT_CFLAGS = (blank)
|
||||
#
|
||||
# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in
|
||||
# your platform specific configuration file will be applied by default and
|
||||
# further flags here may not be needed.
|
||||
#
|
||||
# Note: Leave a leading space when adding list items with the += operator
|
||||
################################################################################
|
||||
# PROJECT_CFLAGS =
|
||||
|
||||
################################################################################
|
||||
# PROJECT OPTIMIZATION CFLAGS
|
||||
# These are lists of CFLAGS that are target-specific. While any flags could
|
||||
# be conditionally added, they are usually limited to optimization flags.
|
||||
# These flags are added BEFORE the PROJECT_CFLAGS.
|
||||
#
|
||||
# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets.
|
||||
#
|
||||
# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank)
|
||||
#
|
||||
# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets.
|
||||
#
|
||||
# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank)
|
||||
#
|
||||
# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the
|
||||
# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration
|
||||
# file will be applied by default and further optimization flags here may not
|
||||
# be needed.
|
||||
#
|
||||
# Note: Leave a leading space when adding list items with the += operator
|
||||
################################################################################
|
||||
# PROJECT_OPTIMIZATION_CFLAGS_RELEASE =
|
||||
# PROJECT_OPTIMIZATION_CFLAGS_DEBUG =
|
||||
|
||||
################################################################################
|
||||
# PROJECT COMPILERS
|
||||
# Custom compilers can be set for CC and CXX
|
||||
# (default) PROJECT_CXX = (blank)
|
||||
# (default) PROJECT_CC = (blank)
|
||||
# Note: Leave a leading space when adding list items with the += operator
|
||||
################################################################################
|
||||
# PROJECT_CXX =
|
||||
# PROJECT_CC =
|
||||
22
of/waspmote_spacebrew_bridge/openFrameworks-Info.plist
Normal file
22
of/waspmote_spacebrew_bridge/openFrameworks-Info.plist
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.yourcompany.openFrameworks</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>${ICON}</string>
|
||||
</dict>
|
||||
</plist>
|
||||
114
of/waspmote_spacebrew_bridge/src/WaspFrameParser.cpp
Normal file
114
of/waspmote_spacebrew_bridge/src/WaspFrameParser.cpp
Normal file
@ -0,0 +1,114 @@
|
||||
//
|
||||
// WaspFrameParser.cpp
|
||||
// waspmote_gateway_parser
|
||||
//
|
||||
// Created by dviid on 11/23/13.
|
||||
//
|
||||
//
|
||||
|
||||
#include "WaspFrameParser.h"
|
||||
|
||||
#define FRAME_DELIM "<=>"
|
||||
#define FRAME_SEP '#'
|
||||
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
|
||||
ostream& operator<<(ostream& out, const WaspFrame& wf)
|
||||
{
|
||||
out << "--- WaspFrame ---" << endl;
|
||||
out << "Serial Id: " << wf.serial_id << endl;
|
||||
out << "Mote Id: " << wf.mote_id << endl;
|
||||
out << "Frame Seq.: " << wf.frame_seq << endl;
|
||||
out << "MAC: " << wf.mac << endl;
|
||||
out << "ADC: " << wf.adc_data << endl;
|
||||
out << "BATT: " << wf.battery_level << endl;
|
||||
out << "-----------------" << endl;
|
||||
|
||||
return out;
|
||||
|
||||
}
|
||||
|
||||
void WaspFrameParser::ASCII_split_frame(string &input, vector<string> &output)
|
||||
{
|
||||
//cout << "PARSE: " << input << endl;
|
||||
|
||||
string d = FRAME_DELIM;
|
||||
string token;
|
||||
size_t i, j = 0;
|
||||
|
||||
|
||||
// CASE A
|
||||
if((i = input.find(d)) == std::string::npos) {
|
||||
input.erase(0, input.length());
|
||||
return;
|
||||
}
|
||||
|
||||
while((j = input.find(d)) != std::string::npos) {
|
||||
token = input.substr(0, j);
|
||||
|
||||
//cout << "TOKEN: " << token << endl;
|
||||
|
||||
output.push_back(string(token));
|
||||
|
||||
input.erase(0, j + d.length());
|
||||
|
||||
//cout << "NEXT: " << input << endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void WaspFrameParser::ASCII_token_frame(string &input, vector<string> &output)
|
||||
{
|
||||
//cout << endl << "frame -- " << input << endl;
|
||||
|
||||
stringstream ss(input);
|
||||
string tok;
|
||||
while(getline(ss, tok, FRAME_SEP))
|
||||
{
|
||||
output.push_back(tok);
|
||||
}
|
||||
}
|
||||
|
||||
void WaspFrameParser::ASCII_process(string &input, vector<WaspFrame> &output)
|
||||
{
|
||||
vector<string> r;
|
||||
WaspFrameParser::ASCII_split_frame(input, r);
|
||||
|
||||
for(int i = 0; i < r.size(); i++) {
|
||||
|
||||
vector<string> t;
|
||||
WaspFrameParser::ASCII_token_frame(r[i], t);
|
||||
|
||||
//cout << "SIZE:::" << t.size() << endl;
|
||||
|
||||
if(t.size() < MIN_FRAME_ENTRIES) continue; // not valid frame
|
||||
|
||||
WaspFrame* wp = new WaspFrame();
|
||||
|
||||
wp->serial_id = t[1];
|
||||
wp->mote_id = t[2];
|
||||
wp->frame_seq = atoi(t[3].c_str());
|
||||
wp->mac = t[4];
|
||||
wp->adc_data = atoi(WaspFrameParser::ASCII_parse("CI0:", t[5]).c_str());
|
||||
wp->battery_level = atoi(WaspFrameParser::ASCII_parse("BAT:", t[6]).c_str());
|
||||
|
||||
//cout << (*wp) << endl;
|
||||
|
||||
output.push_back(*wp);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
string WaspFrameParser::ASCII_parse(string id, string input)
|
||||
{
|
||||
size_t i;
|
||||
if((i = input.find(id)) != std::string::npos) {
|
||||
return input.substr(i + id.length(), input.length());
|
||||
}
|
||||
return "";
|
||||
|
||||
}
|
||||
|
||||
|
||||
50
of/waspmote_spacebrew_bridge/src/WaspFrameParser.h
Normal file
50
of/waspmote_spacebrew_bridge/src/WaspFrameParser.h
Normal file
@ -0,0 +1,50 @@
|
||||
//
|
||||
// WaspFrameParser.h
|
||||
// waspmote_gateway_parser
|
||||
//
|
||||
// Created by dviid on 11/23/13.
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef __waspmote_gateway_parser__WaspFrameParser__
|
||||
#define __waspmote_gateway_parser__WaspFrameParser__
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
using namespace std;
|
||||
|
||||
#define MIN_FRAME_ENTRIES 7
|
||||
|
||||
class WaspFrame {
|
||||
|
||||
public:
|
||||
|
||||
WaspFrame(){;}
|
||||
|
||||
string serial_id;
|
||||
string mote_id;
|
||||
int frame_seq;
|
||||
string mac;
|
||||
int adc_data;
|
||||
int battery_level;
|
||||
|
||||
friend ostream& operator<<(ostream& os, const WaspFrame& wf);
|
||||
|
||||
};
|
||||
|
||||
class WaspFrameParser {
|
||||
|
||||
public:
|
||||
|
||||
static void ASCII_split_frame(string &input, vector<string> &output);
|
||||
static void ASCII_token_frame(string &input, vector<string> &output);
|
||||
|
||||
static void ASCII_process(string &input, vector<WaspFrame> &output);
|
||||
|
||||
static string ASCII_parse(string id, string input);
|
||||
|
||||
};
|
||||
|
||||
#endif /* defined(__waspmote_gateway_parser__WaspFrameParser__) */
|
||||
13
of/waspmote_spacebrew_bridge/src/main.cpp
Normal file
13
of/waspmote_spacebrew_bridge/src/main.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
#include "ofMain.h"
|
||||
#include "testApp.h"
|
||||
|
||||
//========================================================================
|
||||
int main( ){
|
||||
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
|
||||
|
||||
// this kicks off the running of my app
|
||||
// can be OF_WINDOW or OF_FULLSCREEN
|
||||
// pass in width and height too:
|
||||
ofRunApp(new testApp());
|
||||
|
||||
}
|
||||
105
of/waspmote_spacebrew_bridge/src/testApp.cpp
Normal file
105
of/waspmote_spacebrew_bridge/src/testApp.cpp
Normal file
@ -0,0 +1,105 @@
|
||||
#include "testApp.h"
|
||||
|
||||
#include "WaspFrameParser.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
#define wasp_signature "usbserial"
|
||||
#define wasp_baud 115200
|
||||
|
||||
|
||||
bool testApp::setup_serial() {
|
||||
|
||||
//_serial.enumerateDevices();
|
||||
|
||||
vector <ofSerialDeviceInfo> list = _serial.getDeviceList();
|
||||
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
if (list[i].getDeviceName().find(wasp_signature) != std::string::npos) {
|
||||
_serial.setup(list[i].getDevicePath(), wasp_baud);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
string wp_ascii_split(string input)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::setup(){
|
||||
|
||||
_serial_set = setup_serial();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::update(){
|
||||
|
||||
static vector<WaspFrame> r;
|
||||
r.clear();
|
||||
|
||||
if(_serial.available() >= BUFFER_LEN) {
|
||||
_serial.readBytes(_buffer, BUFFER_LEN);
|
||||
_payload += string(_buffer, _buffer + BUFFER_LEN);
|
||||
|
||||
WaspFrameParser::ASCII_process(_payload, r);
|
||||
for(int i = 0; i < r.size(); i++) {
|
||||
ofLog() << r[i] << endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::draw(){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::keyPressed(int key){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::keyReleased(int key){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::mouseMoved(int x, int y ){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::mouseDragged(int x, int y, int button){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::mousePressed(int x, int y, int button){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::mouseReleased(int x, int y, int button){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::windowResized(int w, int h){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::gotMessage(ofMessage msg){
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void testApp::dragEvent(ofDragInfo dragInfo){
|
||||
|
||||
}
|
||||
38
of/waspmote_spacebrew_bridge/src/testApp.h
Normal file
38
of/waspmote_spacebrew_bridge/src/testApp.h
Normal file
@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
|
||||
#include "ofMain.h"
|
||||
#include "OfSerial.h"
|
||||
|
||||
#define BUFFER_LEN 136
|
||||
|
||||
class testApp : public ofBaseApp{
|
||||
|
||||
public:
|
||||
void setup();
|
||||
void update();
|
||||
void draw();
|
||||
|
||||
void keyPressed(int key);
|
||||
void keyReleased(int key);
|
||||
void mouseMoved(int x, int y );
|
||||
void mouseDragged(int x, int y, int button);
|
||||
void mousePressed(int x, int y, int button);
|
||||
void mouseReleased(int x, int y, int button);
|
||||
void windowResized(int w, int h);
|
||||
void dragEvent(ofDragInfo dragInfo);
|
||||
void gotMessage(ofMessage msg);
|
||||
|
||||
bool setup_serial();
|
||||
|
||||
string wp_ascii_split(string input);
|
||||
|
||||
public:
|
||||
|
||||
ofSerial _serial;
|
||||
bool _serial_set;
|
||||
|
||||
unsigned char _buffer[BUFFER_LEN];
|
||||
string _payload;
|
||||
|
||||
|
||||
};
|
||||
@ -0,0 +1,696 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
38AD44EF5A53275A6BCEB17D /* Client.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C49850835B8C1A87752B848B /* Client.cpp */; };
|
||||
4E0BC6F68981D5538037B4A1 /* Protocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0C3D119DB77E08C463602F6B /* Protocol.cpp */; };
|
||||
5AF10231860099AC511B768B /* Events.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20F3AB7BE263F7B762023258 /* Events.cpp */; };
|
||||
738C7523616DFE0113B46841 /* Connection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0C64F99C0758EC4AA46186D8 /* Connection.cpp */; };
|
||||
76661BF99CD97417EE5B675D /* ofxSpacebrew.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2DC940594BBC41CB933B8E6 /* ofxSpacebrew.cpp */; };
|
||||
B44A2ABF3E925768864FD80A /* Reactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6520A5947E5A4C4ED7A91553 /* Reactor.cpp */; };
|
||||
B5F6FF34184A6F0E0063881D /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5F6FF2F184A6F0E0063881D /* main.cpp */; };
|
||||
B5F6FF35184A6F0E0063881D /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5F6FF30184A6F0E0063881D /* testApp.cpp */; };
|
||||
B5F6FF36184A6F0E0063881D /* WaspFrameParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5F6FF32184A6F0E0063881D /* WaspFrameParser.cpp */; };
|
||||
BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
|
||||
C5688FC85C0AE0B5E4E5F9CE /* Server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C53FF33B244987E09C8CC63F /* Server.cpp */; };
|
||||
C6E1C4962CC70798B430DCBC /* jsoncpp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9413D837F3E273803A5F776E /* jsoncpp.cpp */; };
|
||||
E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; };
|
||||
E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; };
|
||||
E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; };
|
||||
E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; };
|
||||
E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; };
|
||||
E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; };
|
||||
E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; };
|
||||
E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; };
|
||||
E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; };
|
||||
E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; };
|
||||
E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; };
|
||||
E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; };
|
||||
E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; };
|
||||
E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
|
||||
E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; };
|
||||
E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; };
|
||||
E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E4B27C1510CBEB8E00536013;
|
||||
remoteInfo = openFrameworks;
|
||||
};
|
||||
E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = E4B27C1410CBEB8E00536013;
|
||||
remoteInfo = openFrameworks;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
E4C2427710CC5ABF004149E2 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0C3D119DB77E08C463602F6B /* Protocol.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = Protocol.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src/Protocol.cpp; sourceTree = SOURCE_ROOT; };
|
||||
0C64F99C0758EC4AA46186D8 /* Connection.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = Connection.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src/Connection.cpp; sourceTree = SOURCE_ROOT; };
|
||||
1027C25C1BA06D686A1D8762 /* ofxSpacebrew.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxSpacebrew.h; path = ../../../of_v0.8.0_osx_release/addons/ofxSpacebrew/src/ofxSpacebrew.h; sourceTree = SOURCE_ROOT; };
|
||||
20F3AB7BE263F7B762023258 /* Events.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = Events.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src/Events.cpp; sourceTree = SOURCE_ROOT; };
|
||||
6520A5947E5A4C4ED7A91553 /* Reactor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = Reactor.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src/Reactor.cpp; sourceTree = SOURCE_ROOT; };
|
||||
9413D837F3E273803A5F776E /* jsoncpp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = jsoncpp.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/jsoncpp/jsoncpp.cpp; sourceTree = SOURCE_ROOT; };
|
||||
A2DC940594BBC41CB933B8E6 /* ofxSpacebrew.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxSpacebrew.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxSpacebrew/src/ofxSpacebrew.cpp; sourceTree = SOURCE_ROOT; };
|
||||
B5F6FF2F184A6F0E0063881D /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
|
||||
B5F6FF30184A6F0E0063881D /* testApp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = testApp.cpp; sourceTree = "<group>"; };
|
||||
B5F6FF31184A6F0E0063881D /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = testApp.h; sourceTree = "<group>"; };
|
||||
B5F6FF32184A6F0E0063881D /* WaspFrameParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaspFrameParser.cpp; sourceTree = "<group>"; };
|
||||
B5F6FF33184A6F0E0063881D /* WaspFrameParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaspFrameParser.h; sourceTree = "<group>"; };
|
||||
BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../of_v0.8.0_osx_release/libs/glut/lib/osx/GLUT.framework; sourceTree = "<group>"; };
|
||||
C49850835B8C1A87752B848B /* Client.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = Client.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src/Client.cpp; sourceTree = SOURCE_ROOT; };
|
||||
C53FF33B244987E09C8CC63F /* Server.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = Server.cpp; path = ../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src/Server.cpp; sourceTree = SOURCE_ROOT; };
|
||||
E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../of_v0.8.0_osx_release/libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
|
||||
E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
|
||||
E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
|
||||
E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
|
||||
E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
|
||||
E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
|
||||
E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
|
||||
E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; };
|
||||
E4B69B5B0A3A1756003C02F2 /* waspmote_spacebrew_bridgeDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = waspmote_spacebrew_bridgeDebug.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = "<group>"; };
|
||||
E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
|
||||
E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../of_v0.8.0_osx_release/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; };
|
||||
E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = "<group>"; };
|
||||
E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = "<absolute>"; };
|
||||
E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = "<absolute>"; };
|
||||
E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = "<absolute>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
E4B69B590A3A1756003C02F2 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */,
|
||||
E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */,
|
||||
E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */,
|
||||
E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */,
|
||||
E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */,
|
||||
E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */,
|
||||
E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */,
|
||||
E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */,
|
||||
E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */,
|
||||
E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */,
|
||||
E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */,
|
||||
E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */,
|
||||
E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */,
|
||||
E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */,
|
||||
E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */,
|
||||
E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */,
|
||||
E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
213FDE476BBC2B9B0347CC2F /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C53FF33B244987E09C8CC63F /* Server.cpp */,
|
||||
6520A5947E5A4C4ED7A91553 /* Reactor.cpp */,
|
||||
0C3D119DB77E08C463602F6B /* Protocol.cpp */,
|
||||
20F3AB7BE263F7B762023258 /* Events.cpp */,
|
||||
0C64F99C0758EC4AA46186D8 /* Connection.cpp */,
|
||||
C49850835B8C1A87752B848B /* Client.cpp */,
|
||||
);
|
||||
name = src;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5AC16A8D6EC87B59A03906C1 /* jsoncpp */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9413D837F3E273803A5F776E /* jsoncpp.cpp */,
|
||||
);
|
||||
name = jsoncpp;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
70911A54686309FC932B3014 /* libs */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5AC16A8D6EC87B59A03906C1 /* jsoncpp */,
|
||||
AB97697EC6F10E7234EFF261 /* ofxLibwebsockets */,
|
||||
);
|
||||
name = libs;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
961F0189D3FC79A9A11F56E1 /* ofxSpacebrew */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D6F68A2D0DCDC44496E81840 /* src */,
|
||||
);
|
||||
name = ofxSpacebrew;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AAE50E341C7382A4EF10AF5A /* ofxLibwebsockets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
70911A54686309FC932B3014 /* libs */,
|
||||
);
|
||||
name = ofxLibwebsockets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AB97697EC6F10E7234EFF261 /* ofxLibwebsockets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
213FDE476BBC2B9B0347CC2F /* src */,
|
||||
);
|
||||
name = ofxLibwebsockets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BB4B014C10F69532006C3DED /* addons */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AAE50E341C7382A4EF10AF5A /* ofxLibwebsockets */,
|
||||
961F0189D3FC79A9A11F56E1 /* ofxSpacebrew */,
|
||||
);
|
||||
name = addons;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BBAB23C913894ECA00AA2426 /* system frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E7F985F515E0DE99003869B5 /* Accelerate.framework */,
|
||||
E4C2424410CC5A17004149E2 /* AppKit.framework */,
|
||||
E4C2424510CC5A17004149E2 /* Cocoa.framework */,
|
||||
E4C2424610CC5A17004149E2 /* IOKit.framework */,
|
||||
E45BE9710E8CC7DD009D7055 /* AGL.framework */,
|
||||
E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */,
|
||||
E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */,
|
||||
E45BE9740E8CC7DD009D7055 /* Carbon.framework */,
|
||||
E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */,
|
||||
E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */,
|
||||
E45BE9770E8CC7DD009D7055 /* CoreServices.framework */,
|
||||
E45BE9790E8CC7DD009D7055 /* OpenGL.framework */,
|
||||
E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */,
|
||||
E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */,
|
||||
E7E077E715D3B6510020DFD4 /* QTKit.framework */,
|
||||
);
|
||||
name = "system frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
BBAB23BE13894E4700AA2426 /* GLUT.framework */,
|
||||
);
|
||||
name = "3rd party frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D6F68A2D0DCDC44496E81840 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A2DC940594BBC41CB933B8E6 /* ofxSpacebrew.cpp */,
|
||||
1027C25C1BA06D686A1D8762 /* ofxSpacebrew.h */,
|
||||
);
|
||||
name = src;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E4328144138ABC890047C5CB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E4328148138ABC890047C5CB /* openFrameworksDebug.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E45BE5980E8CC70C009D7055 /* frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */,
|
||||
BBAB23C913894ECA00AA2426 /* system frameworks */,
|
||||
);
|
||||
name = frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E4B69B4A0A3A1720003C02F2 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */,
|
||||
E4EB6923138AFD0F00A09F29 /* Project.xcconfig */,
|
||||
E4B69E1C0A3A1BDC003C02F2 /* src */,
|
||||
E4EEC9E9138DF44700A80321 /* openFrameworks */,
|
||||
BB4B014C10F69532006C3DED /* addons */,
|
||||
E45BE5980E8CC70C009D7055 /* frameworks */,
|
||||
E4B69B5B0A3A1756003C02F2 /* waspmote_spacebrew_bridgeDebug.app */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E4B69E1C0A3A1BDC003C02F2 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B5F6FF2F184A6F0E0063881D /* main.cpp */,
|
||||
B5F6FF30184A6F0E0063881D /* testApp.cpp */,
|
||||
B5F6FF31184A6F0E0063881D /* testApp.h */,
|
||||
B5F6FF32184A6F0E0063881D /* WaspFrameParser.cpp */,
|
||||
B5F6FF33184A6F0E0063881D /* WaspFrameParser.h */,
|
||||
);
|
||||
path = src;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
E4EEC9E9138DF44700A80321 /* openFrameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */,
|
||||
E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */,
|
||||
);
|
||||
name = openFrameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
E4B69B5A0A3A1756003C02F2 /* waspmote_spacebrew_bridge */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "waspmote_spacebrew_bridge" */;
|
||||
buildPhases = (
|
||||
E4B69B580A3A1756003C02F2 /* Sources */,
|
||||
E4B69B590A3A1756003C02F2 /* Frameworks */,
|
||||
E4B6FFFD0C3F9AB9008CF71C /* ShellScript */,
|
||||
E4C2427710CC5ABF004149E2 /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
E4EEB9AC138B136A00A80321 /* PBXTargetDependency */,
|
||||
);
|
||||
name = waspmote_spacebrew_bridge;
|
||||
productName = myOFApp;
|
||||
productReference = E4B69B5B0A3A1756003C02F2 /* waspmote_spacebrew_bridgeDebug.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
E4B69B4C0A3A1720003C02F2 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
};
|
||||
buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "waspmote_spacebrew_bridge" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = E4B69B4A0A3A1720003C02F2;
|
||||
productRefGroup = E4B69B4A0A3A1720003C02F2;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = E4328144138ABC890047C5CB /* Products */;
|
||||
ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
E4B69B5A0A3A1756003C02F2 /* waspmote_spacebrew_bridge */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
path = openFrameworksDebug.a;
|
||||
remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "cp -f ../../../of_v0.8.0_osx_release/libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\ncp -f \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
E4B69B580A3A1756003C02F2 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C6E1C4962CC70798B430DCBC /* jsoncpp.cpp in Sources */,
|
||||
C5688FC85C0AE0B5E4E5F9CE /* Server.cpp in Sources */,
|
||||
B44A2ABF3E925768864FD80A /* Reactor.cpp in Sources */,
|
||||
4E0BC6F68981D5538037B4A1 /* Protocol.cpp in Sources */,
|
||||
5AF10231860099AC511B768B /* Events.cpp in Sources */,
|
||||
738C7523616DFE0113B46841 /* Connection.cpp in Sources */,
|
||||
38AD44EF5A53275A6BCEB17D /* Client.cpp in Sources */,
|
||||
76661BF99CD97417EE5B675D /* ofxSpacebrew.cpp in Sources */,
|
||||
B5F6FF34184A6F0E0063881D /* main.cpp in Sources */,
|
||||
B5F6FF35184A6F0E0063881D /* testApp.cpp in Sources */,
|
||||
B5F6FF36184A6F0E0063881D /* WaspFrameParser.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = openFrameworks;
|
||||
targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
E4B69B4E0A3A1720003C02F2 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH)";
|
||||
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
GCC_AUTO_VECTORIZATION = YES;
|
||||
GCC_ENABLE_SSE3_EXTENSIONS = YES;
|
||||
GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
|
||||
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
|
||||
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
|
||||
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = NO;
|
||||
GCC_WARN_UNUSED_VALUE = NO;
|
||||
GCC_WARN_UNUSED_VARIABLE = NO;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(OF_CORE_HEADERS)",
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/jsoncpp,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/jsoncpp/json,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/libwebsockets/include/,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/openssl/openssl,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/include,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/include/ofxLibwebsockets,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/src,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxSpacebrew/libs,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxSpacebrew/src,
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
OTHER_CPLUSPLUSFLAGS = (
|
||||
"-D__MACOSX_CORE__",
|
||||
"-lpthread",
|
||||
"-mtune=native",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"$(OF_CORE_LIBS)",
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/libwebsockets/lib/osx/libwebsockets.a,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/openssl/lib/osx/libcrypto.a,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/openssl/lib/osx/libssl.a,
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
E4B69B4F0A3A1720003C02F2 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH)";
|
||||
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
GCC_AUTO_VECTORIZATION = YES;
|
||||
GCC_ENABLE_SSE3_EXTENSIONS = YES;
|
||||
GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
|
||||
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 3;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_UNROLL_LOOPS = YES;
|
||||
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
|
||||
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
|
||||
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = NO;
|
||||
GCC_WARN_UNUSED_VALUE = NO;
|
||||
GCC_WARN_UNUSED_VARIABLE = NO;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(OF_CORE_HEADERS)",
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/jsoncpp,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/jsoncpp/json,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/libwebsockets/include/,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/openssl/openssl,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/include,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/include/ofxLibwebsockets,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/ofxLibwebsockets/src,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/src,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxSpacebrew/libs,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxSpacebrew/src,
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
OTHER_CPLUSPLUSFLAGS = (
|
||||
"-D__MACOSX_CORE__",
|
||||
"-lpthread",
|
||||
"-mtune=native",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"$(OF_CORE_LIBS)",
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/libwebsockets/lib/osx/libwebsockets.a,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/openssl/lib/osx/libcrypto.a,
|
||||
../../../of_v0.8.0_osx_release/addons/ofxLibwebsockets/libs/openssl/lib/osx/libssl.a,
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
E4B69B600A3A1757003C02F2 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../of_v0.8.0_osx_release/libs/glut/lib/osx\"";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||
GCC_MODEL_TUNING = NONE;
|
||||
ICON = "$(ICON_NAME_DEBUG)";
|
||||
ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
|
||||
INFOPLIST_FILE = "openFrameworks-Info.plist";
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)",
|
||||
);
|
||||
PRODUCT_NAME = "$(TARGET_NAME)Debug";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
E4B69B610A3A1757003C02F2 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../of_v0.8.0_osx_release/libs/glut/lib/osx\"";
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||
GCC_MODEL_TUNING = NONE;
|
||||
ICON = "$(ICON_NAME_RELEASE)";
|
||||
ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
|
||||
INFOPLIST_FILE = "openFrameworks-Info.plist";
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
|
||||
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
|
||||
);
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "waspmote_spacebrew_bridge" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
E4B69B4E0A3A1720003C02F2 /* Debug */,
|
||||
E4B69B4F0A3A1720003C02F2 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "waspmote_spacebrew_bridge" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
E4B69B600A3A1757003C02F2 /* Debug */,
|
||||
E4B69B610A3A1757003C02F2 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */;
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0460"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Debug"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0460"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Release">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
|
||||
BuildableName = "waspmote_spacebrew_bridge.app"
|
||||
BlueprintName = "waspmote_spacebrew_bridge"
|
||||
ReferencedContainer = "container:waspmote_spacebrew_bridge.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Release">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
0
waspmote/README.MD
Normal file
0
waspmote/README.MD
Normal file
@ -0,0 +1,123 @@
|
||||
|
||||
#include <WaspXBee802.h>
|
||||
#include <WaspFrame.h> // CRITICAL INFRASTRUCTURE Frames defined in WaspFrame.h -- github --- XXXX
|
||||
|
||||
/*
|
||||
CRITICAL INFRASTRUCTURE {values}:
|
||||
SENSOR_CI0 <int>
|
||||
SENSOR_CI1 <int>
|
||||
SENSOR_CI2 <int>
|
||||
SENSOR_CI3 <int>
|
||||
SENSOR_CI4 <int>
|
||||
*/
|
||||
|
||||
#define SENSOR_PIN ANALOG1 // PIN for the ADC reading
|
||||
|
||||
// declare ADC reading variable
|
||||
int delay_reading = 500;
|
||||
int reading = 0;
|
||||
|
||||
|
||||
// declare packet
|
||||
packetXBee* packet;
|
||||
|
||||
// mac address of this mote
|
||||
char macHigh[10];
|
||||
char macLow[11];
|
||||
|
||||
|
||||
void setup() {
|
||||
|
||||
// blink
|
||||
Utils.setLED(LED0, LED_ON);
|
||||
Utils.setLED(LED1, LED_ON);
|
||||
delay(2000);
|
||||
Utils.setLED(LED0, LED_OFF);
|
||||
Utils.setLED(LED1, LED_OFF);
|
||||
|
||||
// setup radio + MAC
|
||||
xbee802.ON();
|
||||
delay(1000);
|
||||
xbee802.flush();
|
||||
|
||||
// Get the XBee MAC address
|
||||
int counter = 0;
|
||||
while((xbee802.getOwnMac()!=0) && (counter<12))
|
||||
{
|
||||
xbee802.getOwnMac();
|
||||
counter++;
|
||||
}
|
||||
|
||||
// convert mac address from array to string
|
||||
Utils.hex2str(xbee802.sourceMacHigh, macHigh, 4);
|
||||
Utils.hex2str(xbee802.sourceMacLow, macLow, 4);
|
||||
|
||||
// DEBUG: print MAC to console
|
||||
USB.ON();
|
||||
USB.print("mac address:");
|
||||
USB.print(macHigh);
|
||||
USB.println(macLow);
|
||||
USB.OFF();
|
||||
|
||||
//B.0 set mote id (16-Byte max)
|
||||
//frame.setID("CRITICAL-0");
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
// A. ADC READING
|
||||
|
||||
//A.1 PWR ON SENSOR
|
||||
PWR.setSensorPower(SENS_3V3,SENS_ON);
|
||||
Utils.setLED(LED1, LED_ON);
|
||||
|
||||
//A.2 READ VALUE
|
||||
reading = analogRead(SENSOR_PIN);
|
||||
|
||||
//A.3 PWR OFF SENSOR
|
||||
PWR.setSensorPower(SENS_3V3,SENS_OFF);
|
||||
|
||||
// B. BROADCAST PACKET
|
||||
|
||||
//B.1 create ASCII frame
|
||||
frame.createFrame(ASCII,"CRITICAL-0");
|
||||
|
||||
//B.1.1 add CRITICAL INFRASTRUCTURE sensor descriptors
|
||||
frame.addSensor(SENSOR_MAC, macLow); // MAC
|
||||
frame.addSensor(SENSOR_CI0, reading); // CI0 <------------------------- IMPORTANT! (see nomenclature in the header of this file)
|
||||
frame.addSensor(SENSOR_BAT, PWR.getBatteryLevel()); // Battery level
|
||||
|
||||
//DEBUG: print frame to console
|
||||
frame.showFrame();
|
||||
|
||||
//B.2 create packet
|
||||
packet=(packetXBee*) calloc(1,sizeof(packetXBee)); // memory allocation
|
||||
packet->mode=BROADCAST; // set Broadcast mode
|
||||
|
||||
//B.3 send packet
|
||||
// radio ON
|
||||
xbee802.ON();
|
||||
// sets Destination parameters [000000000000FFFF -> Broadcast]
|
||||
xbee802.setDestinationParams(packet, "000000000000FFFF", frame.buffer, frame.length);
|
||||
// send
|
||||
xbee802.sendXBee(packet);
|
||||
|
||||
//B.4 check status (DEBUG)
|
||||
if(xbee802.error_TX == 0) {
|
||||
USB.println(F("TX OK"));
|
||||
} else {
|
||||
USB.println(F("TX ERROR"));
|
||||
}
|
||||
|
||||
//B.5 free memory
|
||||
free(packet);
|
||||
packet = NULL;
|
||||
|
||||
//C. Delay
|
||||
|
||||
delay(1000);
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
#define SENSOR_PIN ANALOG1
|
||||
|
||||
int delay_reading = 500;
|
||||
int reading = 0;
|
||||
char reading_buff[20];
|
||||
|
||||
// define folder and file to store data
|
||||
char* logfile="log.csv";
|
||||
|
||||
|
||||
void setup() {
|
||||
|
||||
USB.ON();
|
||||
|
||||
SD.ON();
|
||||
//SD.mkdir(path);
|
||||
|
||||
// delete file
|
||||
if(SD.del(logfile)) {
|
||||
USB.println(F("file deleted"));
|
||||
} else {
|
||||
USB.println(F("file NOT deleted"));
|
||||
}
|
||||
|
||||
// create file
|
||||
if(SD.create(logfile)) {
|
||||
USB.println(F("file created"));
|
||||
} else {
|
||||
USB.println(F("file NOT created"));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
//PWR ON SENSOR
|
||||
PWR.setSensorPower(SENS_3V3,SENS_ON);
|
||||
Utils.setLED(LED1, LED_ON);
|
||||
|
||||
//READ VALUE
|
||||
reading = analogRead(SENSOR_PIN);
|
||||
delay(delay_reading / 2);
|
||||
|
||||
//PWR OFF SENSOR
|
||||
Utils.setLED(LED1, LED_OFF);
|
||||
PWR.setSensorPower(SENS_3V3,SENS_OFF);
|
||||
|
||||
//WRITE DATA TO FILE (may need some convertion here...)
|
||||
Utils.long2array(reading, reading_buff);
|
||||
SD.appendln(logfile, reading_buff);
|
||||
|
||||
USB.println(reading_buff);
|
||||
|
||||
delay(delay_reading / 2);
|
||||
}
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
#include <WaspSensorPrototyping_v20.h>
|
||||
|
||||
int delay_reading = 500;
|
||||
|
||||
char reading_buff[20];
|
||||
|
||||
// define folder and file to store data
|
||||
char* logfile="log.csv";
|
||||
|
||||
void setup() {
|
||||
|
||||
USB.ON();
|
||||
|
||||
SD.ON();
|
||||
|
||||
// delete file
|
||||
if(SD.del(logfile)) {
|
||||
USB.println(F("file deleted"));
|
||||
} else {
|
||||
USB.println(F("file NOT deleted"));
|
||||
}
|
||||
|
||||
// create file
|
||||
if(SD.create(logfile)) {
|
||||
USB.println(F("file created"));
|
||||
} else {
|
||||
USB.println(F("file NOT created"));
|
||||
}
|
||||
|
||||
delay(100);
|
||||
|
||||
// Sensor board
|
||||
SensorProtov20.ON();
|
||||
// RTC
|
||||
RTC.ON();
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
Utils.setLED(LED1, LED_ON);
|
||||
|
||||
float adc = SensorProtov20.readADC();
|
||||
|
||||
Utils.float2String(adc, reading_buff, 6);
|
||||
|
||||
delay(delay_reading / 2);
|
||||
|
||||
Utils.setLED(LED1, LED_OFF);
|
||||
|
||||
SD.appendln(logfile, reading_buff);
|
||||
|
||||
USB.println(reading_buff);
|
||||
|
||||
delay(delay_reading / 2);
|
||||
}
|
||||
|
||||
@ -0,0 +1,53 @@
|
||||
#define SENSOR_PIN ANALOG2
|
||||
|
||||
int delay_reading = 100;
|
||||
char reading_buff[20];
|
||||
|
||||
// define folder and file to store data
|
||||
char* logfile="log.csv";
|
||||
|
||||
|
||||
void setup() {
|
||||
|
||||
USB.ON();
|
||||
|
||||
SD.ON();
|
||||
|
||||
// delete file
|
||||
if(SD.del(logfile)) {
|
||||
USB.println(F("file deleted"));
|
||||
} else {
|
||||
USB.println(F("file NOT deleted"));
|
||||
}
|
||||
|
||||
// create file
|
||||
if(SD.create(logfile)) {
|
||||
USB.println(F("file created"));
|
||||
} else {
|
||||
USB.println(F("file NOT created"));
|
||||
}
|
||||
|
||||
// accelerometer
|
||||
ACC.ON();
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
Utils.setLED(LED1, LED_ON);
|
||||
|
||||
sprintf(reading_buff, "%d,%d,%d", ACC.getX(), ACC.getY(), ACC.getZ());
|
||||
|
||||
delay(delay_reading / 2);
|
||||
|
||||
//PWR OFF SENSOR
|
||||
Utils.setLED(LED1, LED_OFF);
|
||||
|
||||
SD.appendln(logfile, reading_buff);
|
||||
|
||||
USB.println(reading_buff);
|
||||
|
||||
delay(delay_reading / 2);
|
||||
}
|
||||
|
||||
@ -0,0 +1,55 @@
|
||||
#define SENSOR_PIN ANALOG2
|
||||
|
||||
int delay_reading = 100;
|
||||
char reading_buff[20];
|
||||
|
||||
// define folder and file to store data
|
||||
char* logfile="log.csv";
|
||||
|
||||
|
||||
void setup() {
|
||||
|
||||
USB.ON();
|
||||
|
||||
SD.ON();
|
||||
|
||||
// delete file
|
||||
if(SD.del(logfile)) {
|
||||
USB.println(F("file deleted"));
|
||||
} else {
|
||||
USB.println(F("file NOT deleted"));
|
||||
}
|
||||
|
||||
// create file
|
||||
if(SD.create(logfile)) {
|
||||
USB.println(F("file created"));
|
||||
} else {
|
||||
USB.println(F("file NOT created"));
|
||||
}
|
||||
|
||||
// RTC
|
||||
RTC.ON();
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
Utils.setLED(LED1, LED_ON);
|
||||
|
||||
float temp = RTC.getTemperature();
|
||||
|
||||
Utils.float2String(temp, reading_buff, 3);
|
||||
|
||||
delay(delay_reading / 2);
|
||||
|
||||
//PWR OFF SENSOR
|
||||
Utils.setLED(LED1, LED_OFF);
|
||||
|
||||
SD.appendln(logfile, reading_buff);
|
||||
|
||||
USB.println(reading_buff);
|
||||
|
||||
delay(delay_reading / 2);
|
||||
}
|
||||
|
||||
BIN
waspmote/docs/data_frame_guide.pdf
Normal file
BIN
waspmote/docs/data_frame_guide.pdf
Normal file
Binary file not shown.
1765
waspmote/libraries/Frame/WaspFrame.cpp
Executable file
1765
waspmote/libraries/Frame/WaspFrame.cpp
Executable file
File diff suppressed because it is too large
Load Diff
634
waspmote/libraries/Frame/WaspFrame.h
Executable file
634
waspmote/libraries/Frame/WaspFrame.h
Executable file
@ -0,0 +1,634 @@
|
||||
/*! \file WaspFrame.h
|
||||
\brief Library for creating formated frames
|
||||
|
||||
Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
|
||||
http://www.libelium.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Version: 1.0
|
||||
Design: David Gascón
|
||||
Implementation: Yuri Carmona, Javier Siscart, Joaquín Ruiz
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*! \def WaspFrame_h
|
||||
*/
|
||||
#ifndef WaspFrame_h
|
||||
#define WaspFrame_h
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* Includes
|
||||
******************************************************************************/
|
||||
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
#include <WConstants.h>
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* Definitions & Declarations
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
|
||||
/// Gases Board sensor measurements
|
||||
|
||||
/*! \def SENSOR_CO
|
||||
\brief Carbon Monoxide measurement type
|
||||
*/
|
||||
/*! \def SENSOR_CO2
|
||||
\brief Carbon Dioxide measurement type
|
||||
*/
|
||||
/*! \def SENSOR_O2
|
||||
\brief Oxygen measurement type
|
||||
*/
|
||||
/*! \def SENSOR_CH4
|
||||
\brief Methane measurement type
|
||||
*/
|
||||
/*! \def SENSOR_LPG
|
||||
\brief Liquefied Pretoleum Gases measurement type
|
||||
*/
|
||||
/*! \def SENSOR_NH3
|
||||
\brief Ammonia measurement type
|
||||
*/
|
||||
/*! \def SENSOR_AP1
|
||||
\brief Air Pollutans 1 measurement type
|
||||
*/
|
||||
/*! \def SENSOR_AP2
|
||||
\brief Air Pollutans 2 measurement type
|
||||
*/
|
||||
/*! \def SENSOR_SV
|
||||
\brief Solvent Vapors measurement type
|
||||
*/
|
||||
/*! \def SENSOR_NO2
|
||||
\brief Nitrogen Dioxide measurement type
|
||||
*/
|
||||
/*! \def SENSOR_O3
|
||||
\brief Ozone measurement type
|
||||
*/
|
||||
/*! \def SENSOR_VOC
|
||||
\brief Hydrocarbons measurement type
|
||||
*/
|
||||
/*! \def SENSOR_TC
|
||||
\brief Temperature Celsius measurement type
|
||||
*/
|
||||
/*! \def SENSOR_TF
|
||||
\brief Temperature Fahrenheit measurement type
|
||||
*/
|
||||
/*! \def SENSOR_HUM
|
||||
\brief Humidity measurement type
|
||||
*/
|
||||
/*! \def SENSOR_PA
|
||||
\brief Pressure atmospheric measurement type
|
||||
*/
|
||||
|
||||
|
||||
/// Events Board Sensor measurements
|
||||
|
||||
/*! \def SENSOR_PW
|
||||
\brief Pressure/Weight measurement type
|
||||
*/
|
||||
/*! \def SENSOR_BEND
|
||||
\brief Bend measurement type
|
||||
*/
|
||||
/*! \def SENSOR_VBR
|
||||
\brief Vibration measurement type
|
||||
*/
|
||||
/*! \def SENSOR_HALL
|
||||
\brief Hall Effect measurement type
|
||||
*/
|
||||
/*! \def SENSOR_LP
|
||||
\brief Liquid Presence measurement type
|
||||
*/
|
||||
/*! \def SENSOR_LL
|
||||
\brief Liquid Level measurement type
|
||||
*/
|
||||
/*! \def SENSOR_LUM
|
||||
\brief Luminosity measurement type
|
||||
*/
|
||||
/*! \def SENSOR_PIR
|
||||
\brief Presence measurement type
|
||||
*/
|
||||
/*! \def SENSOR_ST
|
||||
\brief Stretch measurement type
|
||||
*/
|
||||
|
||||
|
||||
/// Smart cities sensor measurements
|
||||
|
||||
/*! \def SENSOR_MCP
|
||||
\brief Microphone measurement type
|
||||
*/
|
||||
/*! \def SENSOR_CDG
|
||||
\brief Crack detection gauge measurement type
|
||||
*/
|
||||
/*! \def SENSOR_CPG
|
||||
\brief Crack propagation gauge measurement type
|
||||
*/
|
||||
/*! \def SENSOR_LD
|
||||
\brief Linear Displacement measurement type
|
||||
*/
|
||||
/*! \def SENSOR_DUST
|
||||
\brief Dust measurement type
|
||||
*/
|
||||
/*! \def SENSOR_US
|
||||
\brief Ultrasound measurement type
|
||||
*/
|
||||
|
||||
|
||||
/// Smart parking sensor measurements
|
||||
|
||||
/*! \def SENSOR_MF
|
||||
\brief Magnetic Field measurement type
|
||||
*/
|
||||
/*! \def SENSOR_PS
|
||||
\brief Parking Spot Status measurement type
|
||||
*/
|
||||
|
||||
/// Agriculture sensor measurements
|
||||
|
||||
/*! \def SENSOR_AIR
|
||||
\brief Air Temperature / Humidity measurement type
|
||||
*/
|
||||
/*! \def SENSOR_SOIL
|
||||
\brief Soil Temperature / Moisture measurement type
|
||||
*/
|
||||
/*! \def SENSOR_LW
|
||||
\brief Leaf Wetness measurement type
|
||||
*/
|
||||
/*! \def SENSOR_PAR
|
||||
\brief Solar Radiation measurement type
|
||||
*/
|
||||
/*! \def SENSOR_UV
|
||||
\brief Ultraviolet Radiation measurement type
|
||||
*/
|
||||
/*! \def SENSOR_TD
|
||||
\brief Trunk Diameter measurement type
|
||||
*/
|
||||
/*! \def SENSOR_SD
|
||||
\brief Stem Diameter measurement type
|
||||
*/
|
||||
/*! \def SENSOR_FD
|
||||
\brief Fruit Diameter measurement type
|
||||
*/
|
||||
/*! \def SENSOR_ANE
|
||||
\brief Anemometer measurement type
|
||||
*/
|
||||
/*! \def SENSOR_WV
|
||||
\brief Wind Vane measurement type
|
||||
*/
|
||||
/*! \def SENSOR_PLV
|
||||
\brief Pluviometer measurement type
|
||||
*/
|
||||
|
||||
|
||||
/// Radiation sensor measurements
|
||||
|
||||
/*! \def SENSOR_RAD
|
||||
\brief Geiger tube measurement type
|
||||
*/
|
||||
|
||||
|
||||
/// Smart meetering sensor measurements
|
||||
|
||||
/*! \def SENSOR_CU
|
||||
\brief Current measurement type
|
||||
*/
|
||||
/*! \def SENSOR_WF
|
||||
\brief Water flow measurement type
|
||||
*/
|
||||
/*! \def SENSOR_LC
|
||||
\brief Load cell measurement type
|
||||
*/
|
||||
/*! \def SENSOR_DF
|
||||
\brief Distance foil measurement type
|
||||
*/
|
||||
|
||||
|
||||
/// Additional sensor measurements
|
||||
|
||||
/*! \def SENSOR_BAT
|
||||
\brief Battery measurement type
|
||||
*/
|
||||
/*! \def SENSOR_GPS
|
||||
\brief Global Positioning System measurement type
|
||||
*/
|
||||
/*! \def SENSOR_RSSI
|
||||
\brief RSSI measurement type
|
||||
*/
|
||||
/*! \def SENSOR_MAC
|
||||
\brief MAC Address measurement type
|
||||
*/
|
||||
/*! \def SENSOR_NA
|
||||
\brief Network Address measurement type
|
||||
*/
|
||||
/*! \def SENSOR_NID
|
||||
\brief Network Identifier origin measurement type
|
||||
*/
|
||||
/*! \def SENSOR_DATE
|
||||
\brief Date measurement type
|
||||
*/
|
||||
/*! \def SENSOR_TIME
|
||||
\brief Time measurement type
|
||||
*/
|
||||
/*! \def SENSOR_GMT
|
||||
\brief GMT measurement type
|
||||
*/
|
||||
/*! \def SENSOR_RAM
|
||||
\brief RAM measurement type
|
||||
*/
|
||||
/*! \def SENSOR_IN_TEMP
|
||||
\brief Internal temperature measurement type
|
||||
*/
|
||||
/*! \def SENSOR_MILLIS
|
||||
\brief Millis measurement type
|
||||
*/
|
||||
|
||||
/// Special sensor measurements
|
||||
|
||||
/*! \def SENSOR_STR
|
||||
\brief String type
|
||||
*/
|
||||
|
||||
// Gases
|
||||
#define SENSOR_CO 0
|
||||
#define SENSOR_CO2 1
|
||||
#define SENSOR_O2 2
|
||||
#define SENSOR_CH4 3
|
||||
#define SENSOR_LPG 4
|
||||
#define SENSOR_NH3 5
|
||||
#define SENSOR_AP1 6
|
||||
#define SENSOR_AP2 7
|
||||
#define SENSOR_SV 8
|
||||
#define SENSOR_NO2 9
|
||||
#define SENSOR_O3 10
|
||||
#define SENSOR_VOC 11
|
||||
#define SENSOR_TCA 12
|
||||
#define SENSOR_TFA 13
|
||||
#define SENSOR_HUMA 14
|
||||
#define SENSOR_PA 15
|
||||
|
||||
// Events
|
||||
#define SENSOR_PW 16
|
||||
#define SENSOR_BEND 17
|
||||
#define SENSOR_VBR 18
|
||||
#define SENSOR_HALL 19
|
||||
#define SENSOR_LP 20
|
||||
#define SENSOR_LL 21
|
||||
#define SENSOR_LUM 22
|
||||
#define SENSOR_PIR 23
|
||||
#define SENSOR_ST 24
|
||||
|
||||
// Smart Cities
|
||||
#define SENSOR_MCP 25
|
||||
#define SENSOR_CDG 26
|
||||
#define SENSOR_CPG 27
|
||||
#define SENSOR_LD 28
|
||||
#define SENSOR_DUST 29
|
||||
#define SENSOR_US 30
|
||||
|
||||
// Smart parking
|
||||
#define SENSOR_MF 31
|
||||
#define SENSOR_PS 32
|
||||
|
||||
// Agriculture
|
||||
#define SENSOR_TCB 33
|
||||
#define SENSOR_TFB 34
|
||||
#define SENSOR_HUMB 35
|
||||
#define SENSOR_SOILT 36
|
||||
#define SENSOR_SOIL 37
|
||||
#define SENSOR_LW 38
|
||||
#define SENSOR_PAR 39
|
||||
#define SENSOR_UV 40
|
||||
#define SENSOR_TD 41
|
||||
#define SENSOR_SD 42
|
||||
#define SENSOR_FD 43
|
||||
#define SENSOR_ANE 44
|
||||
#define SENSOR_WV 45
|
||||
#define SENSOR_PLV 46
|
||||
|
||||
// Radiation
|
||||
#define SENSOR_RAD 47
|
||||
|
||||
// Smart meetering
|
||||
#define SENSOR_CU 48
|
||||
#define SENSOR_WF 49
|
||||
#define SENSOR_LC 50
|
||||
#define SENSOR_DF 51
|
||||
|
||||
// Additional
|
||||
#define SENSOR_BAT 52
|
||||
#define SENSOR_GPS 53
|
||||
#define SENSOR_RSSI 54
|
||||
#define SENSOR_MAC 55
|
||||
#define SENSOR_NA 56
|
||||
#define SENSOR_NID 57
|
||||
#define SENSOR_DATE 58
|
||||
#define SENSOR_TIME 59
|
||||
#define SENSOR_GMT 60
|
||||
#define SENSOR_RAM 61
|
||||
#define SENSOR_IN_TEMP 62
|
||||
#define SENSOR_ACC 63
|
||||
#define SENSOR_MILLIS 64
|
||||
|
||||
// Special
|
||||
#define SENSOR_STR 65
|
||||
|
||||
// Meshlium
|
||||
#define SENSOR_MBT 66
|
||||
#define SENSOR_MWIFI 67
|
||||
|
||||
// RFID
|
||||
#define SENSOR_UID 68
|
||||
#define SENSOR_RB 69
|
||||
|
||||
// CRITICAL INFRASTRUCTURE
|
||||
#define SENSOR_CI0 70
|
||||
#define SENSOR_CI1 71
|
||||
#define SENSOR_CI2 72
|
||||
#define SENSOR_CI3 73
|
||||
#define SENSOR_CI4 74
|
||||
|
||||
|
||||
|
||||
|
||||
// define MACROS in order to manage bits inside Bytes
|
||||
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
|
||||
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
|
||||
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
|
||||
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
|
||||
|
||||
|
||||
/*! \def MAX_FRAME
|
||||
\brief maximum size in bytes of the frame
|
||||
*/
|
||||
#define MAX_FRAME 150
|
||||
|
||||
|
||||
|
||||
/*! \def UNICAST_16B
|
||||
\brief
|
||||
*/
|
||||
/*! \def UNICAST_64B
|
||||
\brief
|
||||
*/
|
||||
/*! \def BROADCAST_MODE
|
||||
\brief
|
||||
*/
|
||||
#define UNICAST_16B 0
|
||||
#define UNICAST_64B 1
|
||||
#define BROADCAST_MODE 2
|
||||
|
||||
|
||||
|
||||
/*! \def EXAMPLE_FRAME
|
||||
\brief
|
||||
*/
|
||||
/*! \def TIMEOUT_FRAME
|
||||
\brief
|
||||
*/
|
||||
/*! \def EVENT_FRAME
|
||||
\brief
|
||||
*/
|
||||
/*! \def ALARM_FRAME
|
||||
\brief
|
||||
*/
|
||||
/*! \def SERVICE1_FRAME
|
||||
\brief
|
||||
*/
|
||||
/*! \def SERVICE2_FRAME
|
||||
\brief
|
||||
*/
|
||||
#define EXAMPLE_FRAME 0
|
||||
#define TIMEOUT_FRAME 1
|
||||
#define EVENT_FRAME 2
|
||||
#define ALARM_FRAME 3
|
||||
#define SERVICE1_FRAME 4
|
||||
#define SERVICE2_FRAME 5
|
||||
|
||||
|
||||
/*! \def TYPE_UINT8
|
||||
\brief TYPE_UINT8 defines the constant for uint8_t variables types (1 Byte)
|
||||
*/
|
||||
/*! \def TYPE_INT
|
||||
\brief TYPE_INT defines the constant for int (int16_t) variables types (2 Bytes)
|
||||
*/
|
||||
/*! \def TYPE_FLOAT
|
||||
\brief TYPE_FLOAT defines the constant for double/float variables types (4 Bytes)
|
||||
*/
|
||||
/*! \def TYPE_CHAR
|
||||
\brief TYPE_CHAR defines the constant for char* (strings) variables types (variable Bytes)
|
||||
*/
|
||||
/*! \def TYPE_ULONG
|
||||
\brief TYPE_ULONG defines the constant for unsigned long int variables types (4 Bytes)
|
||||
*/
|
||||
#define TYPE_UINT8 0
|
||||
#define TYPE_INT 1
|
||||
#define TYPE_FLOAT 2
|
||||
#define TYPE_CHAR 3
|
||||
#define TYPE_ULONG 4
|
||||
|
||||
|
||||
|
||||
/*! \def ASCII
|
||||
\brief ASCII frame mode
|
||||
*/
|
||||
/*! \def BINARY
|
||||
\brief BINARY frame mode
|
||||
*/
|
||||
#define ASCII 1
|
||||
#define BINARY 0
|
||||
|
||||
|
||||
//! Variable : Waspmote serial id
|
||||
/*!
|
||||
*/
|
||||
extern volatile unsigned long _serial_id;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* Class
|
||||
******************************************************************************/
|
||||
|
||||
//! WaspFrame Class
|
||||
/*!
|
||||
WaspFrame Class defines all the variables and functions used to create the
|
||||
sensor frames in Waspmote
|
||||
*/
|
||||
class WaspFrame
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
//! Function : store the sequence number in EEPROM
|
||||
/*! This function stores the sequence number in the EEPROM address specified
|
||||
* by the SEQUENCE_ADDR address.
|
||||
*/
|
||||
void storeSequence(uint8_t seqNumber);
|
||||
|
||||
//! Function : read the sequence number from EEPROM
|
||||
/*! This function reads the sequence number from the EEPROM address specified
|
||||
* by the SEQUENCE_ADDR address.
|
||||
*/
|
||||
uint8_t readSequence(void);
|
||||
|
||||
//! Function : check if maximum length is reached
|
||||
/*! Check if maximum length is reached when introducing a new frame field
|
||||
*/
|
||||
uint8_t checkLength(int sum);
|
||||
|
||||
//! Variable : sequence number
|
||||
/*!
|
||||
This is the frame sequence number in order to control if any packet is lost
|
||||
*/
|
||||
uint8_t sequence;
|
||||
|
||||
//! Variable : number of sensor values within the frame
|
||||
/*!
|
||||
*/
|
||||
uint8_t numFields;
|
||||
|
||||
//! Variable : frame format: ASCII (0) or BINARY (1)
|
||||
/*!
|
||||
*/
|
||||
uint8_t _mode;
|
||||
|
||||
//! Variable : maximum frame size
|
||||
/*!
|
||||
*/
|
||||
uint8_t _maxSize;
|
||||
|
||||
public:
|
||||
|
||||
//! class constructor
|
||||
/*!
|
||||
Initialize the class attributes
|
||||
\param void
|
||||
\return void
|
||||
*/
|
||||
WaspFrame();
|
||||
|
||||
//! Function : set the frame maximum size
|
||||
/*! This function sets the frame maximum size
|
||||
\param uint8_t size size to set as maximum size. It can't exceed the
|
||||
MAX_FRAME constant
|
||||
\return void
|
||||
*/
|
||||
void setFrameSize( uint8_t size);
|
||||
|
||||
//! Function : set the frame maximum size
|
||||
/*! This function sets the frame maximum size depending on the protocol,
|
||||
addressing, linkEncryption mode, AESEncryption.
|
||||
\param uint8_t protocol defines the procotol used
|
||||
\param uint8_t linkEncryption defines if XBee encryption is enabled or not
|
||||
\param uint8_t AESEncryption defines if AES encryption is used or not
|
||||
\return void
|
||||
*/
|
||||
void setFrameSize( uint8_t protocol,
|
||||
uint8_t linkEncryption,
|
||||
uint8_t AESEncryption);
|
||||
|
||||
//! Function : set the frame maximum size
|
||||
/*! This function sets the frame maximum size depending on the protocol,
|
||||
addressing, linkEncryption mode, AESEncryption.
|
||||
\param uint8_t protocol defines the procotol used
|
||||
\param uint8_t addressing defines the addressing used
|
||||
\param uint8_t linkEncryption defines if XBee encryption is enabled or not
|
||||
\param uint8_t AESEncryption defines if AES encryption is used or not
|
||||
\return void
|
||||
*/
|
||||
void setFrameSize( uint8_t protocol,
|
||||
uint8_t addressing,
|
||||
uint8_t linkEncryption,
|
||||
uint8_t AESEncryption);
|
||||
|
||||
//! Function : get the frame maximum size
|
||||
/*! This function gets the frame maximum size
|
||||
\return uint8_t indicating the value of _maxSize
|
||||
*/
|
||||
uint8_t getFrameSize( void );
|
||||
|
||||
//! Function : creates a new frame
|
||||
/*! This function creates a new ASCII frame getting the mote ID from the
|
||||
* EEPROM memory.
|
||||
*/
|
||||
void createFrame(void);
|
||||
|
||||
//! Function : creates a new frame
|
||||
/*! This function creates a new frame.
|
||||
\param uint8_t mode specifies the frame mode: BINARY or ASCII
|
||||
\return const char* moteID defines the mote Identifier
|
||||
*/
|
||||
void createFrame(uint8_t mode, const char* moteID);
|
||||
|
||||
//! Function : set the frame type
|
||||
/*! This function sets the frame type (fourth byte of the frame header)
|
||||
\param uint8_t type specifies the frame type:
|
||||
EXAMPLE_FRAME
|
||||
TIMEOUT_FRAME
|
||||
EVENT_FRAME
|
||||
ALARM_FRAME
|
||||
SERVICE1_FRAME
|
||||
SERVICE2_FRAME
|
||||
\return void
|
||||
*/
|
||||
void setFrameType(uint8_t type);
|
||||
|
||||
//! Function : shows the frame
|
||||
/*! This function prints the actual frame
|
||||
*/
|
||||
void showFrame(void);
|
||||
|
||||
int8_t addSensor(uint8_t type, int value);
|
||||
int8_t addSensor(uint8_t type, unsigned long value);
|
||||
int8_t addSensor(uint8_t type, double value);
|
||||
int8_t addSensor(uint8_t type, double value, int N);
|
||||
int8_t addSensor(uint8_t type, char* str);
|
||||
|
||||
int8_t addSensor(uint8_t type, double val1, double val2);
|
||||
int8_t addSensor(uint8_t type, uint8_t val1, uint8_t val2, uint8_t val3);
|
||||
int8_t addSensor(uint8_t type, uint8_t val1, uint8_t val2, uint8_t val3, int val4);
|
||||
int8_t addSensor(uint8_t type, int val1,int val2,int val3);
|
||||
int8_t addSensor(uint8_t type, double val1,double val2,double val3);
|
||||
|
||||
int8_t checkFields(uint8_t type, uint8_t typeVal, uint8_t fields);
|
||||
|
||||
void setID(char* moteID);
|
||||
void getID(char* moteID);
|
||||
|
||||
// Sends Waspmote unique ID with the frame
|
||||
void setCloudCompatibility(void);
|
||||
|
||||
//! Variable : buffer where the frame is created in
|
||||
/*!
|
||||
*/
|
||||
uint8_t buffer[MAX_FRAME+1];
|
||||
|
||||
//! Variable : length of the frame
|
||||
/*!
|
||||
*/
|
||||
uint16_t length;
|
||||
|
||||
};
|
||||
|
||||
extern WaspFrame frame;
|
||||
|
||||
#endif
|
||||
|
||||
574
waspmote/libraries/Frame/WaspFrameConstants.h
Executable file
574
waspmote/libraries/Frame/WaspFrameConstants.h
Executable file
@ -0,0 +1,574 @@
|
||||
|
||||
|
||||
#ifndef WaspFrameconstants_h
|
||||
#define WaspFrameconstants_h
|
||||
|
||||
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
|
||||
|
||||
/// Flash defines //////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* The following Flash strings, define the tags for all Waspmote sensors.
|
||||
* These TAGs are used in ASCII frames in order to indicate every sensor field
|
||||
* that has been included inside the frame.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
// Gases
|
||||
prog_char str_CO[] PROGMEM = "CO"; // 0
|
||||
prog_char str_CO2[] PROGMEM = "CO2"; // 1
|
||||
prog_char str_O2[] PROGMEM = "O2"; // 2
|
||||
prog_char str_CH4[] PROGMEM = "CH4"; // 3
|
||||
prog_char str_LPG[] PROGMEM = "LPG"; // 4
|
||||
prog_char str_NH3[] PROGMEM = "NH3"; // 5
|
||||
prog_char str_AP1[] PROGMEM = "AP1"; // 6
|
||||
prog_char str_AP2[] PROGMEM = "AP2"; // 7
|
||||
prog_char str_SV[] PROGMEM = "SV"; // 8
|
||||
prog_char str_NO2[] PROGMEM = "NO2"; // 9
|
||||
prog_char str_O3[] PROGMEM = "O3"; // 10
|
||||
prog_char str_VOC[] PROGMEM = "VOC"; // 11
|
||||
prog_char str_TCA[] PROGMEM = "TCA"; // 12
|
||||
prog_char str_TFA[] PROGMEM = "TFA"; // 13
|
||||
prog_char str_HUMA[] PROGMEM = "HUMA"; // 14
|
||||
prog_char str_PA[] PROGMEM = "PA"; // 15
|
||||
|
||||
// Events
|
||||
prog_char str_PW[] PROGMEM = "PW"; // 16
|
||||
prog_char str_BEND[] PROGMEM = "BEND"; // 17
|
||||
prog_char str_VBR[] PROGMEM = "VBR"; // 18
|
||||
prog_char str_HALL[] PROGMEM = "HALL"; // 19
|
||||
prog_char str_LP[] PROGMEM = "LP"; // 20
|
||||
prog_char str_LL[] PROGMEM = "LL"; // 21
|
||||
prog_char str_LUM[] PROGMEM = "LUM"; // 22
|
||||
prog_char str_PIR[] PROGMEM = "PIR"; // 23
|
||||
prog_char str_ST[] PROGMEM = "ST"; // 24
|
||||
|
||||
// Smart cities
|
||||
prog_char str_MCP[] PROGMEM = "MCP"; // 25
|
||||
prog_char str_CDG[] PROGMEM = "CDG"; // 26
|
||||
prog_char str_CPG[] PROGMEM = "CPG"; // 27
|
||||
prog_char str_LD[] PROGMEM = "LD"; // 28
|
||||
prog_char str_DUST[] PROGMEM = "DUST"; // 29
|
||||
prog_char str_US[] PROGMEM = "US"; // 30
|
||||
|
||||
// Smart parking
|
||||
prog_char str_MF[] PROGMEM = "MF"; // 31
|
||||
prog_char str_PS[] PROGMEM = "PS"; // 32
|
||||
|
||||
// Agriculture
|
||||
prog_char str_TCB[] PROGMEM = "TCB"; // 33
|
||||
prog_char str_TFB[] PROGMEM = "TFB"; // 34
|
||||
prog_char str_HUMB[] PROGMEM = "HUMB"; // 35
|
||||
prog_char str_SOILT[] PROGMEM = "SOILT"; // 36
|
||||
prog_char str_SOIL[] PROGMEM = "SOIL"; // 37
|
||||
prog_char str_LW[] PROGMEM = "LW"; // 38
|
||||
prog_char str_PAR[] PROGMEM = "PAR"; // 39
|
||||
prog_char str_UV[] PROGMEM = "UV"; // 40
|
||||
prog_char str_TD[] PROGMEM = "TD"; // 41
|
||||
prog_char str_SD[] PROGMEM = "SD"; // 42
|
||||
prog_char str_FD[] PROGMEM = "FD"; // 43
|
||||
prog_char str_ANE[] PROGMEM = "ANE"; // 44
|
||||
prog_char str_WV[] PROGMEM = "WV"; // 45
|
||||
prog_char str_PLV[] PROGMEM = "PLV"; // 46
|
||||
|
||||
// Radiation
|
||||
prog_char str_RAD[] PROGMEM = "RAD"; // 47
|
||||
|
||||
// Smart meetering
|
||||
prog_char str_CU[] PROGMEM = "CU"; // 48
|
||||
prog_char str_WF[] PROGMEM = "WF"; // 49
|
||||
prog_char str_LC[] PROGMEM = "LC"; // 50
|
||||
prog_char str_DF[] PROGMEM = "DF"; // 51
|
||||
|
||||
// Additional
|
||||
prog_char str_BAT[] PROGMEM = "BAT"; // 52
|
||||
prog_char str_GPS[] PROGMEM = "GPS"; // 53
|
||||
prog_char str_RSSI[] PROGMEM = "RSSI"; // 54
|
||||
prog_char str_MAC[] PROGMEM = "MAC"; // 55
|
||||
prog_char str_NA[] PROGMEM = "NA"; // 56
|
||||
prog_char str_NID[] PROGMEM = "NID"; // 57
|
||||
prog_char str_DATE[] PROGMEM = "DATE"; // 58
|
||||
prog_char str_TIME[] PROGMEM = "TIME"; // 59
|
||||
prog_char str_GMT[] PROGMEM = "GMT"; // 60
|
||||
prog_char str_RAM[] PROGMEM = "RAM"; // 61
|
||||
prog_char str_IN_TEMP[] PROGMEM = "IN_TEMP"; // 62
|
||||
prog_char str_ACC[] PROGMEM = "ACC"; // 63
|
||||
prog_char str_MILLIS[] PROGMEM = "MILLIS"; // 64
|
||||
|
||||
// Special
|
||||
prog_char str_STR[] PROGMEM = "STR"; // 65
|
||||
|
||||
// Meshlium
|
||||
prog_char str_MBT[] PROGMEM = "MBT"; // 66
|
||||
prog_char str_MWIFI[] PROGMEM = "MWIFI"; // 67
|
||||
|
||||
// RFID
|
||||
prog_char str_UID[] PROGMEM = "UID"; // 68
|
||||
prog_char str_RB[] PROGMEM = "RB"; // 69
|
||||
|
||||
// CRITICAL INFRASTRUCTURE
|
||||
prog_char str_CI0[] PROGMEM = "CI0"; // 70
|
||||
prog_char str_CI1[] PROGMEM = "CI1"; // 71
|
||||
prog_char str_CI2[] PROGMEM = "CI2"; // 72
|
||||
prog_char str_CI3[] PROGMEM = "CI3"; // 73
|
||||
prog_char str_CI4[] PROGMEM = "CI4"; // 74
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* SENSOR_TABLE - Sensor label table
|
||||
*
|
||||
* This table specifies the tag for each sensor. Every tag has been previously
|
||||
* defined in Flash memory
|
||||
******************************************************************************/
|
||||
PROGMEM const char* SENSOR_TABLE[] =
|
||||
{
|
||||
// Gases
|
||||
str_CO, // 0
|
||||
str_CO2, // 1
|
||||
str_O2, // 2
|
||||
str_CH4, // 3
|
||||
str_LPG, // 4
|
||||
str_NH3, // 5
|
||||
str_AP1, // 6
|
||||
str_AP2, // 7
|
||||
str_SV, // 8
|
||||
str_NO2, // 9
|
||||
str_O3, // 10
|
||||
str_VOC, // 11
|
||||
str_TCA, // 12
|
||||
str_TFA, // 13
|
||||
str_HUMA, // 14
|
||||
str_PA, // 15
|
||||
|
||||
// Events
|
||||
str_PW, // 16
|
||||
str_BEND, // 17
|
||||
str_VBR, // 18
|
||||
str_HALL, // 19
|
||||
str_LP, // 20
|
||||
str_LL, // 21
|
||||
str_LUM, // 22
|
||||
str_PIR, // 23
|
||||
str_ST, // 24
|
||||
|
||||
// Smart cities
|
||||
str_MCP, // 25
|
||||
str_CDG, // 26
|
||||
str_CPG, // 27
|
||||
str_LD, // 28
|
||||
str_DUST, // 29
|
||||
str_US, // 30
|
||||
|
||||
// Smart parking
|
||||
str_MF, // 31
|
||||
str_PS, // 32
|
||||
|
||||
// Agriculture
|
||||
str_TCB, // 33
|
||||
str_TFB, // 34
|
||||
str_HUMB, // 35
|
||||
str_SOILT, // 36
|
||||
str_SOIL, // 37
|
||||
str_LW, // 38
|
||||
str_PAR, // 39
|
||||
str_UV, // 40
|
||||
str_TD, // 41
|
||||
str_SD, // 42
|
||||
str_FD, // 43
|
||||
str_ANE, // 44
|
||||
str_WV, // 45
|
||||
str_PLV, // 46
|
||||
|
||||
// Radiation
|
||||
str_RAD, // 47
|
||||
|
||||
// Smart meetering
|
||||
str_CU, // 48
|
||||
str_WF, // 49
|
||||
str_LC, // 50
|
||||
str_DF, // 51
|
||||
|
||||
// Additional
|
||||
str_BAT, // 52
|
||||
str_GPS, // 53
|
||||
str_RSSI, // 54
|
||||
str_MAC, // 55
|
||||
str_NA, // 56
|
||||
str_NID, // 57
|
||||
str_DATE, // 58
|
||||
str_TIME, // 59
|
||||
str_GMT, // 60
|
||||
str_RAM, // 61
|
||||
str_IN_TEMP, // 62
|
||||
str_ACC, // 63
|
||||
str_MILLIS, // 64
|
||||
|
||||
// Special
|
||||
str_STR, // 65
|
||||
|
||||
// Meshlium
|
||||
str_MBT, // 66
|
||||
str_MWIFI, // 67
|
||||
|
||||
// RFID
|
||||
str_UID, // 68
|
||||
str_RB, // 69
|
||||
|
||||
// CRITICAL INFRASTRUCTURE
|
||||
str_CI0, // 70
|
||||
str_CI1, // 71
|
||||
str_CI2, // 72
|
||||
str_CI3, // 73
|
||||
str_CI4 // 74
|
||||
|
||||
};
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* SENSOR_TYPE_TABLE - Binary frames sensor types
|
||||
*
|
||||
* This table specifies the type of sensor depending on the type of value the
|
||||
* user must put as input. These are the possibilities:
|
||||
*
|
||||
* 0: uint8_t
|
||||
* 1: int (the same as int16_t)
|
||||
* 2: double
|
||||
* 3: char*
|
||||
* 4: unsigned long
|
||||
* 5: uint8_t*
|
||||
******************************************************************************/
|
||||
PROGMEM const uint8_t SENSOR_TYPE_TABLE[] =
|
||||
{
|
||||
// Gases
|
||||
2, // str_CO, // 0
|
||||
2, // str_CO2, // 1
|
||||
2, // str_O2, // 2
|
||||
2, // str_CH4, // 3
|
||||
2, // str_LPG, // 4
|
||||
2, // str_NH3, // 5
|
||||
2, // str_AP1, // 6
|
||||
2, // str_AP2, // 7
|
||||
2, // str_SV, // 8
|
||||
2, // str_NO2, // 9
|
||||
2, // str_O3, // 10
|
||||
2, // str_VOC, // 11
|
||||
2, // str_TCA, // 12
|
||||
2, // str_TFA, // 13
|
||||
2, // str_HUMA, // 14
|
||||
2, // str_PA, // 15
|
||||
|
||||
// Events
|
||||
2, // str_PW, // 16
|
||||
2, // str_BEND, // 17
|
||||
0, // str_VBR, // 18
|
||||
0, // str_HALL, // 19
|
||||
0, // str_LP, // 20
|
||||
0, // str_LL, // 21
|
||||
2, // str_LUM, // 22
|
||||
0, // str_PIR, // 23
|
||||
2, // str_ST, // 24
|
||||
|
||||
// Smart cities
|
||||
0, // str_MCP, // 25
|
||||
0, // str_CDG, // 26
|
||||
2, // str_CPG, // 27
|
||||
2, // str_LD, // 28
|
||||
2, // str_DUST, // 29
|
||||
2, // str_US, // 30
|
||||
|
||||
// Smart parking
|
||||
1, //str_MF, // 31
|
||||
0, //str_PS, // 32
|
||||
|
||||
// Agriculture
|
||||
2, // str_TCB, // 33
|
||||
2, // str_TFB, // 34
|
||||
2, // str_HUMB, // 35
|
||||
2, // str_SOILT, // 36
|
||||
2, // str_SOIL, // 37
|
||||
0, // str_LW, // 38
|
||||
2, // str_PAR, // 39
|
||||
2, // str_UV, // 40
|
||||
2, // str_TD, // 41
|
||||
2, // str_SD, // 42
|
||||
2, // str_FD, // 43
|
||||
2, // str_ANE, // 44
|
||||
0, // str_WV, // 45
|
||||
2, // str_PLV, // 46
|
||||
|
||||
// Radiation
|
||||
2, // str_RAD, // 47
|
||||
|
||||
// Smart meetering
|
||||
2, // str_CU, // 48
|
||||
2, // str_WF, // 49
|
||||
2, // str_LC, // 50
|
||||
2, // str_DF, // 51
|
||||
|
||||
// Additional
|
||||
0, // str_BAT, // 52
|
||||
2, // str_GPS, // 53
|
||||
1, // str_RSSI, // 54
|
||||
3, // str_MAC, // 55
|
||||
3, // str_NA, // 56
|
||||
3, // str_NID, // 57
|
||||
0, // str_DATE, // 58
|
||||
0, // str_TIME, // 59
|
||||
1, // str_GMT, // 60
|
||||
1, // str_RAM, // 61
|
||||
2, // str_IN_TEMP, // 62
|
||||
1, // str_ACC, // 63
|
||||
4, // str_MILLIS, // 64
|
||||
|
||||
|
||||
// Special
|
||||
3, // str_STR // 65
|
||||
|
||||
// Meshlium
|
||||
3, // str_MBT // 66
|
||||
3, //str_MWIFI // 67
|
||||
|
||||
// RFID
|
||||
3, //str_UID // 68
|
||||
3, //str_RB // 69
|
||||
|
||||
// CRITICAL INFRASTRUCTURE
|
||||
1, //str_CI0 //70
|
||||
1, //str_CI1 //71
|
||||
1, //str_CI2 //72
|
||||
1, //str_CI3 //73
|
||||
1 //str_CI4 //74
|
||||
|
||||
};
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* SENSOR_FIELD_TABLE - Sensor fields
|
||||
*
|
||||
* This table specifies the number of fields per sensor.
|
||||
*
|
||||
* For example, a temperature sensor indicates the temperature in a single field.
|
||||
* On the other hand, the GPS module indicates the position with two fields:
|
||||
* latitude and longitude
|
||||
******************************************************************************/
|
||||
PROGMEM const uint8_t SENSOR_FIELD_TABLE[] =
|
||||
{
|
||||
// Gases
|
||||
1, // str_CO, // 0
|
||||
1, // str_CO2, // 1
|
||||
1, // str_O2, // 2
|
||||
1, // str_CH4, // 3
|
||||
1, // str_LPG, // 4
|
||||
1, // str_NH3, // 5
|
||||
1, // str_AP1, // 6
|
||||
1, // str_AP2, // 7
|
||||
1, // str_SV, // 8
|
||||
1, // str_NO2, // 9
|
||||
1, // str_O3, // 10
|
||||
1, // str_VOC, // 11
|
||||
1, // str_TCA, // 12
|
||||
1, // str_TFA, // 13
|
||||
1, // str_HUMA, // 14
|
||||
1, // str_PA, // 15
|
||||
|
||||
// Events
|
||||
1, // str_PW, // 16
|
||||
1, // str_BEND, // 17
|
||||
1, // str_VBR, // 18
|
||||
1, // str_HALL, // 19
|
||||
1, // str_LP, // 20
|
||||
1, // str_LL, // 21
|
||||
1, // str_LUM, // 22
|
||||
1, // str_PIR, // 23
|
||||
1, // str_ST, // 24
|
||||
|
||||
// Smart cities
|
||||
1, // str_MCP, // 25
|
||||
1, // str_CDG, // 26
|
||||
1, // str_CPG, // 27
|
||||
1, // str_LD, // 28
|
||||
1, // str_DUST, // 29
|
||||
1, // str_US, // 30
|
||||
|
||||
// Smart parking
|
||||
3, //str_MF, // 31
|
||||
1, //str_PS, // 32
|
||||
|
||||
// Agriculture
|
||||
1, // str_TCB, // 33
|
||||
1, // str_TFB, // 34
|
||||
1, // str_HUMB, // 35
|
||||
1, // str_SOILT, // 36
|
||||
1, // str_SOIL, // 37
|
||||
1, // str_LW, // 38
|
||||
1, // str_PAR, // 39
|
||||
1, // str_UV, // 40
|
||||
1, // str_TD, // 41
|
||||
1, // str_SD, // 42
|
||||
1, // str_FD, // 43
|
||||
1, // str_ANE, // 44
|
||||
1, // str_WV, // 45
|
||||
1, // str_PLV, // 46
|
||||
|
||||
// Radiation
|
||||
1, // str_RAD, // 47
|
||||
|
||||
// Smart meetering
|
||||
1, // str_CU, // 48
|
||||
1, // str_WF, // 49
|
||||
1, // str_LC, // 50
|
||||
1, // str_DF, // 51
|
||||
|
||||
// Additional
|
||||
1, // str_BAT, // 52
|
||||
2, // str_GPS, // 53
|
||||
1, // str_RSSI, // 54
|
||||
1, // str_MAC, // 55
|
||||
1, // str_NA, // 56
|
||||
1, // str_NID, // 57
|
||||
3, // str_DATE, // 58
|
||||
3, // str_TIME, // 59
|
||||
1, // str_GMT, // 60
|
||||
1, // str_RAM, // 61
|
||||
1, // str_IN_TEMP, // 62
|
||||
3, // str_ACC, // 63
|
||||
1, // str_MILLIS, // 64
|
||||
|
||||
// Special
|
||||
1, // str_STR // 65
|
||||
|
||||
// Meshlium
|
||||
1, // str_MBT // 66
|
||||
1, //str_MWIFI // 67
|
||||
|
||||
// RFID
|
||||
1, //str_UID // 68
|
||||
1, //str_RB // 69
|
||||
|
||||
// CRITICAL INFRASTRUCTURE
|
||||
1, //str_CI0 //70
|
||||
1, //str_CI1 //71
|
||||
1, //str_CI2 //72
|
||||
1, //str_CI3 //73
|
||||
1 //str_CI4 //74
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* DECIMAL_TABLE - number of default decimals for each sensor for ASCII frames
|
||||
*
|
||||
* This table specifies the number of decimals for each sensor for ASCII frames
|
||||
******************************************************************************/
|
||||
PROGMEM const uint8_t DECIMAL_TABLE[] =
|
||||
{
|
||||
// Gases
|
||||
3, // str_CO, // 0
|
||||
3, // str_CO2, // 1
|
||||
3, // str_O2, // 2
|
||||
3, // str_CH4, // 3
|
||||
3, // str_LPG, // 4
|
||||
3, // str_NH3, // 5
|
||||
3, // str_AP1, // 6
|
||||
3, // str_AP2, // 7
|
||||
3, // str_SV, // 8
|
||||
3, // str_NO2, // 9
|
||||
3, // str_O3, // 10
|
||||
3, // str_VOC, // 11
|
||||
2, // str_TCA, // 12
|
||||
2, // str_TFA, // 13
|
||||
1, // str_HUMA, // 14
|
||||
2, // str_PA, // 15
|
||||
|
||||
// Events
|
||||
3, // str_PW, // 16
|
||||
3, // str_BEND, // 17
|
||||
0, // str_VBR, // 18
|
||||
|
||||
0, // str_HALL, // 19
|
||||
0, // str_LP, // 20
|
||||
0, // str_LL, // 21
|
||||
3, // str_LUM, // 22
|
||||
0, // str_PIR, // 23
|
||||
3, // str_ST, // 24
|
||||
|
||||
// Smart cities
|
||||
0, // str_MCP, // 25
|
||||
0, // str_CDG, // 26
|
||||
3, // str_CPG, // 27
|
||||
3, // str_LD, // 28
|
||||
3, // str_DUST, // 29
|
||||
2, // str_US, // 30
|
||||
|
||||
// Smart parking
|
||||
0, //str_MF, // 31
|
||||
0, //str_PS, // 32
|
||||
|
||||
// Agriculture
|
||||
2, // str_TCB, // 33
|
||||
2, // str_TFB, // 34
|
||||
1, // str_HUMB, // 35
|
||||
2, // str_SOILT, // 36
|
||||
2, // str_SOIL, // 37
|
||||
0, // str_LW, // 38
|
||||
2, // str_PAR, // 39
|
||||
2, // str_UV, // 40
|
||||
3, // str_TD, // 41
|
||||
3, // str_SD, // 42
|
||||
3, // str_FD, // 43
|
||||
2, // str_ANE, // 44
|
||||
0, // str_WV, // 45
|
||||
2, // str_PLV, // 46
|
||||
|
||||
// Radiation
|
||||
6, // str_RAD, // 47
|
||||
|
||||
// Smart meetering
|
||||
2, // str_CU, // 48
|
||||
3, // str_WF, // 49
|
||||
3, // str_LC, // 50
|
||||
3, // str_DF, // 51
|
||||
|
||||
// Additional
|
||||
0, // str_BAT, // 52
|
||||
6, // str_GPS, // 53
|
||||
0, // str_RSSI, // 54
|
||||
0, // str_MAC, // 55
|
||||
0, // str_NA, // 56
|
||||
0, // str_NID, // 57
|
||||
0, // str_DATE, // 58
|
||||
0, // str_TIME, // 59
|
||||
0, // str_GMT, // 60
|
||||
0, // str_RAM, // 61
|
||||
2, // str_IN_TEMP, // 62
|
||||
0, // str_ACC, // 63
|
||||
0, // str_MILLIS, // 64
|
||||
|
||||
// Special
|
||||
0, // str_STR // 65
|
||||
|
||||
// Meshlium
|
||||
0, // str_MBT // 66
|
||||
0, //str_MWIFI // 67
|
||||
|
||||
// RFID
|
||||
0, //str_UID // 68
|
||||
0, //str_RB // 69
|
||||
|
||||
// CRITICAL INFRASTRUCTURE
|
||||
0, //str_CI0 //70
|
||||
0, //str_CI1 //71
|
||||
0, //str_CI2 //72
|
||||
0, //str_CI3 //73
|
||||
0 //str_CI4 //74
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
x
Reference in New Issue
Block a user