tchellosilveira / multiwii

Automatically exported from code.google.com/p/multiwii
0 stars 0 forks source link

Serial_GPS enable won't work due to type def issue #17

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. enabble "#define GPS_SERIAL 2" w/ baud/prot options
2. compile
3.

What is the expected output? What do you see instead?
A working compiled version.

Instead the compilation is broken with the follwoing error messages:
----
GPS.cpp: In function 'uint8_t GPS_Compute()':
GPS.cpp:286: error: 'struct flags_struct_t' has no member named 
'THROTTLE_IGNORED'
GPS.cpp:313: error: 'struct flags_struct_t' has no member named 
'THROTTLE_IGNORED'
----

What version of the product are you using? On what operating system?
Latest from 5th of Jan 2014 - "MultiWii_dev_2014_12_01__r1729".

Please provide any additional information below.

I changed "types.h" like follows:
- Add "uint8_t THROTTLE_IGNORED : 1;" once more in the if_GPS check as the BARO 
mode is handled in GPS.cpp already.
This might be solved otherwise by re-ordering or else in types.h but worked for 
me.

----
 uint8_t GPS_mode: 2;               // 0-3 NONE,HOLD, HOME, NAV (see GPS_MODE_* defines
#if BARO
  uint8_t THROTTLE_IGNORED : 1;      // If it is 1 then ignore throttle stick movements in baro mode;
#endif
#if GPS
  uint8_t GPS_FIX :1 ;
  uint8_t GPS_FIX_HOME :1 ;
  uint8_t THROTTLE_IGNORED : 1;      // KBR fix as it appears also in the main GPS routines > baro check is handled separately;
  uint8_t GPS_BARO_MODE : 1;         // This flag is used when GPS controls baro mode instead of user (it will replace rcOptions[BARO]
  uint8_t GPS_head_set: 1;           // it is 1 if the navigation engine got commands to control heading (SET_POI or SET_HEAD) CLEAR_HEAD will zero it
  uint8_t LAND_COMPLETED: 1;
  uint8_t LAND_IN_PROGRESS: 1;
#endif
} flags_struct_t;
----

Original issue reported on code.google.com by KBrau...@gmail.com on 5 Jan 2015 at 8:19