root / mikrokopter / arduino / src / ArduinoHardware.h-replacement @ 58d82c77
History | View | Annotate | Download (2.57 KB)
1 |
/* |
---|---|
2 |
* Software License Agreement (BSD License) |
3 |
* |
4 |
* Copyright (c) 2011, Willow Garage, Inc. |
5 |
* All rights reserved. |
6 |
* |
7 |
* Redistribution and use in source and binary forms, with or without |
8 |
* modification, are permitted provided that the following conditions |
9 |
* are met: |
10 |
* |
11 |
* * Redistributions of source code must retain the above copyright |
12 |
* notice, this list of conditions and the following disclaimer. |
13 |
* * Redistributions in binary form must reproduce the above |
14 |
* copyright notice, this list of conditions and the following |
15 |
* disclaimer in the documentation and/or other materials provided |
16 |
* with the distribution. |
17 |
* * Neither the name of Willow Garage, Inc. nor the names of its |
18 |
* contributors may be used to endorse or promote prducts derived |
19 |
* from this software without specific prior written permission. |
20 |
* |
21 |
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
22 |
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
23 |
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
24 |
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
25 |
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
26 |
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
27 |
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
28 |
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
29 |
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
30 |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
31 |
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
32 |
* POSSIBILITY OF SUCH DAMAGE. |
33 |
*/ |
34 |
|
35 |
/* |
36 |
* |
37 |
* This is a modified version of ArduinoHardware.h to use Serial_ instead of |
38 |
* HardwareSerial for the Leonardo |
39 |
* |
40 |
*/ |
41 |
|
42 |
#ifndef ROS_ARDUINO_HARDWARE_H_ |
43 |
#define ROS_ARDUINO_HARDWARE_H_ |
44 |
|
45 |
#include "WProgram.h" |
46 |
#include <HardwareSerial.h> |
47 |
|
48 |
class ArduinoHardware { |
49 |
public: |
50 |
ArduinoHardware(Serial_* io , long baud= 57600){ |
51 |
iostream = io; |
52 |
baud_ = baud; |
53 |
} |
54 |
ArduinoHardware() |
55 |
{ |
56 |
iostream = &Serial; |
57 |
baud_ = 57600; |
58 |
} |
59 |
ArduinoHardware(ArduinoHardware& h){ |
60 |
this->iostream = iostream; |
61 |
this->baud_ = h.baud_; |
62 |
} |
63 |
|
64 |
void setBaud(long baud){ |
65 |
this->baud_= baud; |
66 |
} |
67 |
|
68 |
int getBaud(){return baud_;} |
69 |
|
70 |
void init(){ |
71 |
iostream->begin(baud_); |
72 |
} |
73 |
|
74 |
int read(){return iostream->read();}; |
75 |
void write(uint8_t* data, int length){ |
76 |
for(int i=0; i<length; i++) |
77 |
iostream->write(data[i]); |
78 |
} |
79 |
|
80 |
unsigned long time(){return millis();} |
81 |
|
82 |
protected: |
83 |
Serial_* iostream; |
84 |
long baud_; |
85 |
}; |
86 |
|
87 |
#endif |