Added POV to joysticks.

Change-Id: Iad0ea8ed1526a6173502f3f0a9bc8918f0569adc
diff --git a/aos/common/input/driver_station_data.cc b/aos/common/input/driver_station_data.cc
index f825bd4..00a126e 100644
--- a/aos/common/input/driver_station_data.cc
+++ b/aos/common/input/driver_station_data.cc
@@ -19,6 +19,10 @@
       (1 << (location.number() - 1));
 }
 
+bool GetPOV(const POVLocation location, const JoystickState &values) {
+  return values.joysticks[location.joystick() - 1].pov == location.number();
+}
+
 bool GetControlBitValue(const ControlBit bit,
                         const JoystickState &values) {
   switch (bit) {
@@ -51,6 +55,18 @@
       !GetButton(location, current_values_);
 }
 
+bool Data::IsPressed(const POVLocation location) const {
+  return GetPOV(location, current_values_);
+}
+
+bool Data::PosEdge(const POVLocation location) const {
+  return !GetPOV(location, old_values_) && GetPOV(location, current_values_);
+}
+
+bool Data::NegEdge(const POVLocation location) const {
+  return GetPOV(location, old_values_) && !GetPOV(location, current_values_);
+}
+
 bool Data::GetControlBit(const ControlBit bit) const {
   return GetControlBitValue(bit, current_values_);
 }