CortexHardware.h
Go to the documentation of this file.
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 #ifndef _ROSSERIAL_VEX_CORTEX_CORTEX_HARDWARE_H_
36 #define _ROSSERIAL_VEX_CORTEX_CORTEX_HARDWARE_H_
37 
38 #include "main.h"
39 #include "logger.h"
40 
41 #define SERIAL_CLASS int
42 
44  public:
46 
47  // any initialization code necessary to use the serial port
48  // note: the serial port initialization for rosserial for VEX Cortex must be implemented in `src/init.cpp`
49  // see that file for more information.
50  void init() {}
51 
52  // read a byte from the serial port. -1 = failure
53  int read() {
54  if(fcount(stdin) != 0) {
55  int c = vexrosreadchar();
56  return c;
57  }
58  return -1;
59  }
60 
61  // write data to the connection to ROS
62  void write(uint8_t* data, int length) {
63  for(int i = 0; i < length; i++) {
64  vexroswritechar(data[i]);
65  }
66  }
67 
68  // returns milliseconds since start of program
69  unsigned long time() {
70  return millis();
71  }
72 };
73 
74 #endif
#define vexroswritechar(ch)
Definition: logger.h:29
unsigned long time()
void write(uint8_t *data, int length)
#define vexrosreadchar()
Definition: logger.h:30


rosserial_vex_cortex
Author(s): Cannon
autogenerated on Mon Jun 10 2019 14:53:45