blob: 1fb34db4d8dee3109c31e44f0d4fa1fa72ac4bdb [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001#include <arpa/inet.h>
2
3#include "WPILib/Task.h"
4#include "WPILib/Encoder.h"
5#include "WPILib/DigitalInput.h"
6#include "WPILib/Counter.h"
7
8#include "aos/aos_core.h"
9#include "aos/crio/motor_server/SensorOutput.h"
10#include "aos/common/inttypes.h"
11#include "aos/common/mutex.h"
12#include "aos/crio/shared_libs/interrupt_notifier.h"
13
14#include "frc971/queues/sensor_values.h"
15
16using ::aos::MutexLocker;
17
18namespace frc971 {
19
20class SensorWriter : public aos::SensorOutput<sensor_values> {
21 Encoder lencoder;
22 Encoder rencoder;
23
24 public:
25 SensorWriter() : lencoder(1, 2), rencoder(3, 4) {
26 lencoder.Start();
27 rencoder.Start();
28
29 printf("frc971::SensorWriter started\n");
30 }
31
32 virtual void RunIteration(sensor_values &vals) {
33 vals.lencoder = htonl(-lencoder.GetRaw());
34 vals.rencoder = -htonl(-rencoder.GetRaw());
35 }
36};
37
38} // namespace frc971
39
40AOS_RUN(frc971::SensorWriter)