paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] GPS on UART5 - unable to compile


From: Felix Ruess
Subject: Re: [Paparazzi-devel] GPS on UART5 - unable to compile
Date: Wed, 14 Nov 2012 23:33:12 +0100

Hi Michal,

ah, sorry...
This is not a compiler or code generation problem.
The problem seems to be that on UART5 the Tx/Rx pins are split across different ports and have different define names.
The UART5 macro is undefined/redefined in the uart_arch.h because it already exists in the STM lib.
https://github.com/paparazzi/paparazzi/blob/v4.0/sw/airborne/arch/stm32/mcu_periph/uart_arch.h#L46
But some other define is now missing when you try call the transmit macros.

I guess you can just comment the line that refers to sending the config data.

If anyone want's to digg for the correct missing defines or so... patches would be nice :-D

Btw, it works in master with libopencm3 ;-)

Cheers, Felix


On Wed, Nov 14, 2012 at 10:04 PM, Michal Podhradsky <address@hidden> wrote:
Hi Felix,

thanks, setting the GPS port from the airframe file works just fine.

I just needed to change the default location of GPS port in the board makefile (for example Lisa M 2.0 or Lia 1.1, UART3 => UART5). Then the mentioned error occurred, regardless on the GPS_PORT specified in the airframe config file.

It is probably not a big deal (I found a way how to configure the GPS_PORT anyway), but the compiler should not behave like this (a potential bug in the code?)

Regards
Michal


On Wed, Nov 14, 2012 at 1:56 PM, Felix Ruess <address@hidden> wrote:
Hi Michal,

see http://paparazzi.enac.fr/wiki/Subsystem/gps on how do configure the GPS port you want to use from your airframe file.

Cheers, Felix


On Wed, Nov 14, 2012 at 9:44 PM, Michal Podhradsky <address@hidden> wrote:
Hello Paparazzi team,

I found a possible bug in the preprocessor/compiler code. Maybe you will be able to either verify or explain this error.

Lisa M 2.0 has the default GPS port defined as UART3. When I changed in the makefile (http://github.com/paparazzi/paparazzi/blob/v4.0/conf/boards/lisa_m_2.0.makefile#L81) the GPS port to UART5, then regardless on the GPS_PORT specified in the airframe config file, I get the following error during compilation (note that we don't send any data to GPS during the flight so we can use UART1 or UART5 as they have no Tx pin assigned):
subsystems/gps/gps_ubx.c: In function 'ubxsend_cfg_rst':
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "Transmit" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'Transmit'
subsystems/gps/gps_ubx.c:288: error: pasting ")" and "SendMessage" does not give a valid preprocessing token
subsystems/gps/gps_ubx.c:288: warning: statement with no effect
subsystems/gps/gps_ubx.c:288: error: expected ';' before 'SendMessage'
make[1]: *** [/home/csois/Backup/paparazz-svn/var/Quad_LiaM2_GX3_baro/ap/subsystems/gps/gps_ubx.o] Error 1
make[1]: Leaving directory `/home/csois/Backup/paparazz-svn/sw/airborne'
make: *** [ap.compile] Error 2
make: Leaving directory `/home/csois/Backup/paparazz-svn'

Commenting out line 279 in http://github.com/paparazzi/paparazzi/blob/v4.0/sw/airborne/subsystems/gps/gps_ubx.c#L279 solves this issue (i.e. GPS_PORT can be defined as UART5 and everything works well).

The same issue occurs for Lia 1.1 board, which is basically a derivation of Lisa M 2.0.

Do you have any explanation for this behavior? What exactly is ubxsend_cfg_rst doing? I assume it is related to soft reset of GPS unit?

Regards
Michal

_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]