Project

General

Profile

Statistics
| Branch: | Revision:

scoutos / scout_avr / src / main.cpp @ fd73d758

History | View | Annotate | Download (1.9 KB)

1 fd73d758 Tom Mullins
#if 0 ///////////////////////////////////////////////
2 807483bf Tom Mullins

3 49090532 Tom Mullins
#include "ros.h"
4 cf115e3d Tom Mullins
#include <std_msgs/Int16.h>
5 88fb3a79 Tom Mullins

6 49090532 Tom Mullins
ros::Publisher *ptest_out;
7

8 812788aa Tom Mullins
void debug(const char *str)
9
{
10 31f4a032 Tom Mullins
}
11

12 cf115e3d Tom Mullins
void callback(const std_msgs::Int16& msg)
13 49090532 Tom Mullins
{
14
  ptest_out->publish(&msg);
15
}
16

17
int main()
18 88fb3a79 Tom Mullins
{
19
  ros::NodeHandle nh;
20 cf115e3d Tom Mullins
  std_msgs::Int16 msg;
21
  ros::Subscriber<std_msgs::Int16> test_in("test_in", callback);
22 49090532 Tom Mullins
  ros::Publisher test_out("test_out", &msg);
23

24
  ptest_out = &test_out;
25 88fb3a79 Tom Mullins

26 49090532 Tom Mullins
  msg.data = 0;
27 88fb3a79 Tom Mullins
  nh.initNode();
28 49090532 Tom Mullins
  nh.subscribe(test_in);
29
  nh.advertise(test_out);
30 88fb3a79 Tom Mullins

31
  while (1)
32
  {
33
    nh.spinOnce();
34
  }
35

36
  return 0;
37 49090532 Tom Mullins
}
38 88fb3a79 Tom Mullins

39 807483bf Tom Mullins
#else ///////////////////////////////////////////////
40
41
extern "C"
42 88fb3a79 Tom Mullins
{
43
#include <stdlib.h>
44
#include <string.h>
45 fd73d758 Tom Mullins
#include <avr/io.h>
46
#include <util/delay.h>
47 88fb3a79 Tom Mullins
}
48
49 49090532 Tom Mullins
#include "Atmega128rfa1.h"
50 1c3c96ce Tom Mullins
#include "range.h"
51 f115416e Tom Mullins
#include "bom.h"
52 49090532 Tom Mullins
53 31f4a032 Tom Mullins
Atmega128rfa1 avr;
54
55 812788aa Tom Mullins
void debug(const char *str)
56
{
57 31f4a032 Tom Mullins
  avr.puts(str);
58
}
59
60 88fb3a79 Tom Mullins
int main()
61
{
62 1c3c96ce Tom Mullins
  char buf[20];
63 f115416e Tom Mullins
  int i;
64 31f4a032 Tom Mullins
  char id = 0;
65 cf115e3d Tom Mullins
  unsigned long now, next = 0;
66 88fb3a79 Tom Mullins
  avr.init();
67 1c3c96ce Tom Mullins
  range_init();
68 f115416e Tom Mullins
  bom_init();
69 31f4a032 Tom Mullins
  avr.puts("Hello!\r\n");
70 88fb3a79 Tom Mullins
  while (1)
71
  {
72 49090532 Tom Mullins
    now = avr.time();
73
    if (now > next) {
74 1c3c96ce Tom Mullins
      next = now + 100;
75 fd73d758 Tom Mullins
      /*ultoa(now, buf, 10);
76 812788aa Tom Mullins
      avr.puts(buf);
77 fd73d758 Tom Mullins
      avr.puts("\r\n");*/
78 31f4a032 Tom Mullins
      id++;
79
      if (id == 0x40) {
80
        id = 0;
81
      }
82
      set_robot_id(id);
83 f115416e Tom Mullins
      /*utoa(range_get(0), buf, 10);
84
      avr.puts("Range: ");
85
      avr.puts(buf);
86
      avr.puts(", ");
87 807483bf Tom Mullins
      utoa(range_get(1), buf, 10);
88 f115416e Tom Mullins
      avr.puts(buf);*/
89 fd73d758 Tom Mullins
      for (i = 0; i < 4; i++) {
90 f115416e Tom Mullins
        bom_send(i);
91
        int msg = bom_get(i);
92
        if (msg != BOM_NO_DATA) {
93
          avr.puts("BOM ");
94
          itoa(i, buf, 10);
95
          avr.puts(buf);
96
          avr.puts(": ");
97 31f4a032 Tom Mullins
          itoa(bom_msg_get_robot_id(msg), buf, 10);
98
          avr.puts(buf);
99
          avr.puts(" (");
100
          itoa(bom_msg_get_dir(msg), buf, 10);
101 f115416e Tom Mullins
          avr.puts(buf);
102 31f4a032 Tom Mullins
          avr.puts(")\r\n");
103 f115416e Tom Mullins
        }
104 fd73d758 Tom Mullins
      }
105 49090532 Tom Mullins
    }
106 88fb3a79 Tom Mullins
  }
107
  return 0;
108 cf115e3d Tom Mullins
}
109 807483bf Tom Mullins
110
#endif //////////////////////////////////////////////