|
From: | Stephen L Hulme |
Subject: | Re: [Paparazzi-devel] mag_micromag_fw module build errors - it works |
Date: | Sun, 12 Dec 2010 00:19:29 +1300 |
Hi Felix
The following builds without errors.
Not that I know it works. I will have to connect
the peripherals to check.
Regardless, thank you very much.
Regards Stephen
<airframe name="Funjet 3sw Tiny 2.11">
<firmware name="fixedwing"> <target name="ap" board="tiny_2.11"> <define name="AGR_CLIMB"/> <define name="LOITER_TRIM"/> <define name="ALT_KALMAN"/> <define name="WIND_INFO"/> <define name="WIND_INFO_RET"/> <define name="STRONG_WIND"/> <define name="SPI_MASTER"/> <define name="USE_SPI_SLAVE0"/> <define name="USE_I2C0"/> <define name="SENSOR_SYNC_SEND"/> </target> <target name="sim" board="pc"> <define name="AGR_CLIMB"/> <define name="LOITER_TRIM"/> <define name="ALT_KALMAN"/> <define name="WIND_INFO"/> <define name="WIND_INFO_RET"/> </target> <!-- RC --> <subsystem name="radio_control" type="ppm"/> <!-- Communication --> <subsystem name="telemetry" type="transparent"> <param name="MODEM_BAUD" value="B9600"/> </subsystem> <!-- Actuators are automatically chosen according to board--> <subsystem name="control"/> <!-- Sensors --> <subsystem name="attitude" type="infrared"/> <subsystem name="gps" type="ublox_lea4p"> <param name="GPS_BAUD" value="B38400"/> </subsystem> <subsystem name="gyro" type="roll"> <param name="ADC_GYRO_ROLL" value="ADC_3"/> </subsystem> <!-- Nav --> <subsystem name="navigation"/> <!-- Interfaces --> <subsystem name="i2c"/> <subsystem name="spi"/> </firmware> <firmware name="setup"> <target name="tunnel" board="tiny_2.11"/> <target name="usb_tunnel_0" board="tiny_2.11"/> <target name="usb_tunnel_1" board="tiny_2.11"/> <target name="setup_actuators" board="tiny_2.11"/> </firmware> <!-- modules --> <modules> <load name="mag_micromag_fw.xml"> <flag name="MICROMAG_DRDY_VIC_SLOT" value="12"/> <flag name="SSP_VIC_SLOT" value="11"/> </load> <load name="baro_scp_i2c.xml"/> <load name="digital_camo.xml"/> </modules> <section name="Digital camera telecommand"> <!-- IOs are seen as LEDs --> <define name="LED_6_BANK" value="0"/> <define name="LED_6_PIN" value="2"/> <!-- I2C SCL --> <!-- ADC 5 --> <define name="LED_7_BANK" value="0"/> <define name="LED_7_PIN" value="3"/> <!-- I2C SDA --> <define name="DC_SHUTTER_LED" value="6"/> <!-- Grey wire --> <define name="DC_ZOOM_LED" value="7"/> </section> <section name="MAG_MICROMAG"> <define name="MM_SS_PIN" value="20"/> <define name="MM_SS_IODIR" value="IO0DIR"/> <define name="MM_SS_IOSET" value="IO0SET"/> <define name="MM_SS_IOCLR" value="IO0CLR"/> <define name="MM_RESET_PIN" value="29"/> <define name="MM_RESET_IODIR" value="IO0DIR"/> <define name="MM_RESET_IOSET" value="IO0SET"/> <define name="MM_RESET_IOCLR" value="IO0CLR"/> <define name="MM_DRDY_PINSEL" value="PINSEL1"/> <define name="MM_DRDY_PINSEL_BIT" value="0"/> <define name="MM_DRDY_PINSEL_VAL" value="1"/> <define name="MM_DRDY_EINT" value="0"/> <define name="MM_DRDY_VIC_IT" value="VIC_EINT0"/> </section> On Sat, 11 Dec 2010 00:40:12 +0100 Felix Reuss wrote:
Did you define SPI_MASTER?
I'm not 100% sure, but I think the autopilot acts as master to the micromag and hence you have to set this flag. On Sat, Dec 11, 2010 at 12:31 AM, Stephen L Hulme <address@hidden> wrote: > > Hi Felix > > Once again thank you. > > I made the requested changes with the resultant error: > > home/stephen/paparazzi/var/FJSR/ap/mcu.o: In function `mcu_init': > mcu.c:(.text.mcu_init+0x88): undefined reference to `spi_init' > collect2: ld returned 1 exit status > make[1]: *** [/home/stephen/paparazzi/var/FJSR/ap/ap.elf] Error 1 > make[1]: Leaving directory `/home/stephen/paparazzi/sw/airborn > > using this airframe.xml config: > > <airframe name="Funjet 3sw Tiny 2.11"> > > Â <firmware name="fixedwing"> > ÂÂÂ <target name="ap"ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ board="tiny_2.11"> > ÂÂÂÂÂ <define name="AGR_CLIMB"/> > ÂÂÂÂÂ <define name="LOITER_TRIM"/> > ÂÂÂÂÂ <define name="ALT_KALMAN"/> > ÂÂÂÂÂ <define name="WIND_INFO"/> > ÂÂÂÂÂ <define name="WIND_INFO_RET"/> > ÂÂÂÂÂ <define name="STRONG_WIND"/> > ÂÂÂÂÂ <define name="USE_I2C0"/> > ÂÂÂÂÂ <define name="USE_SPI_MASTER"/> > ÂÂÂÂÂ <define name="MICROMAG_DRDY_VIC_SLOT" value="9"/> > ÂÂÂÂÂ <define name="SSP_VIC_SLOT" value="11"/> > ÂÂÂÂÂ <define name="USE_ADC_5"/> > ÂÂÂÂÂ <define name="SENSOR_SYNC_SEND"/> > ÂÂÂ </target> > > ÂÂÂ <target name="sim"ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ board="pc"> > ÂÂÂÂÂ <define name="AGR_CLIMB"/> > ÂÂÂÂÂ <define name="LOITER_TRIM"/> > ÂÂÂÂÂ <define name="ALT_KALMAN"/> > ÂÂÂÂÂ <define name="WIND_INFO"/> > ÂÂÂÂÂ <define name="WIND_INFO_RET"/> > ÂÂÂ </target> > > ÂÂÂÂÂÂ <!-- RC --> > ÂÂÂ <subsystem name="radio_control"ÂÂÂ type="ppm"/> > ÂÂÂ <!-- Communication --> > ÂÂÂ <subsystem name="telemetry"ÂÂÂÂÂÂÂ type="transparent"> > ÂÂÂÂÂ <param name="MODEM_BAUD"ÂÂÂÂÂÂÂÂ value="B9600"/> > ÂÂÂ </subsystem> > ÂÂÂ <!-- Actuators are automatically chosen according to board--> > ÂÂÂ <subsystem name="control"/> > ÂÂÂ <!-- Sensors --> > ÂÂÂ <subsystem name="attitude"ÂÂÂÂÂÂÂÂ type="infrared"/> > ÂÂÂ <subsystem name="gps"ÂÂÂÂÂÂÂÂÂÂÂÂÂ type="ublox_lea4p"> > ÂÂÂÂÂ <param name="GPS_BAUD"ÂÂÂÂÂÂÂÂÂÂ value="B38400"/> > ÂÂÂ </subsystem> > ÂÂÂ <!-- Nav --> > ÂÂÂ <subsystem name="navigation"/> > ÂÂÂ <!-- Interfaces --> > ÂÂÂ <subsystem name="i2c"/> > ÂÂÂ <subsystem name="spi"/> > Â </firmware> > > Â <firmware name="setup"> > ÂÂÂ <target name="tunnel"ÂÂÂÂÂÂÂÂÂÂÂÂÂ board="tiny_2.11"/> > ÂÂÂ <target name="usb_tunnel_0"ÂÂÂÂÂÂÂ board="tiny_2.11"/> > ÂÂÂ <target name="usb_tunnel_1"ÂÂÂÂÂÂÂ board="tiny_2.11"/> > ÂÂÂ <target name="setup_actuators"ÂÂÂÂ board="tiny_2.11"/> > Â </firmware> > > Â <!-- modules --> > Â <modules> > ÂÂÂ <load name="mag_micromag_fw.xml"/> > ÂÂÂ <!--load name="baro_scp_i2c.xml"/--> > ÂÂÂ <load name="digital_camo.xml"/> > Â </modules> > > Regards > > Stephen > > > On Fri, 10 Dec 2010 23:49:30 +0100 Felix Reuss wrote: > > Hi Stephen, > > seems DOWNLINK_DEVICE is not defined when trying to send a message in > these modules (probably include order issue). I just pushed a fix for > this. > > You also do NOT need to define USE_MAG_MICROMAG_FW, that does not > exist anywhere. > But you should define MICROMAG_DRDY_VIC_SLOT to an appropriate > otherwise free slot. (You had it misspelled as > MAG_MICROMAG_FW_DRDY_VIC_SLOT). > > And you probably need to define SPI_MASTER. > > There is some work going on to clean up the SPI defines a bit and make > them more clear. > Martin? > > Cheers, Felix > > On Fri, Dec 10, 2010 at 10:25 PM, Stephen L Hulme <address@hidden> wrote: >> Hi Felix >> >> Thank you for that. I added spi firmware subsystem "spi" >> >> Now I get the following in ap build mode. >> >> CC /home/stephen/paparazzi/var/FJSR/ap/modules/sensors/mag_micromag_fw.o >> modules/sensors/mag_micromag_fw.c: In function `micromag_event': >> modules/sensors/mag_micromag_fw.c:38: warning: implicit declaration of >> function `DOWNLINK_DEVICECheckFreeSpace' >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICECheckFreeSpace' >> modules/sensors/mag_micromag_fw.c:38: warning: implicit declaration of >> function `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: redundant redeclaration >> of 'DOWNLINK_DEVICETransmit' >> modules/sensors/mag_micromag_fw.c:38: warning: previous implicit >> declaration of 'DOWNLINK_DEVICETransmit' was here >> modules/sensors/mag_micromag_fw.c:38: warning: nested extern declaration >> of `DOWNLINK >> Regards >> >> Stephen >> >> On Fri, 10 Dec 2010 20:17:41 +0100 Felix Reuss wrote: >> >> Hi Stephen, >> >> I think you are missing the >> <subsystem name="spi"/> >> >> Cheers, Felix >> >> On Fri, Dec 10, 2010 at 6:10 AM, Stephen L Hulme <address@hidden> wrote: >>> Hi Martin (I Guess) >>> >>> I am having trouble building the mag_micromag_fw module in ap mode. >>> >>> I get the following message in the paparazzi centre >>> >>> CC >>> >>> >>> /home/stephen/paparazzi/var/FJSR/ap/arch/lpc21/modules/sensors/mag_micromag_fw_hw.o >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw.c: In function `SSP_ISR': >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw.c:22: warning: implicit >>> declaration of function `SpiClearRti' >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw.c:22: warning: nested >>> extern declaration of `SpiClearRti' >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw.c:22: warning: implicit >>> declaration of function `SpiDisableRti' >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw.c:22: warning: nested >>> extern declaration of `SpiDisableRti' >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw.c:22: warning: implicit >>> declaration of function `SpiDisable' >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw.c:22: warning: nested >>> extern declaration of `SpiDisable' >>> arch/lpc21/modules/sensors/mag_micromag_fw_hw. >>> >>> The relevant section of my airframe.xml file is: >>> >>> airframe name="Funjet 3sw Tiny 2.11"> >>> >>> Ã <firmware name="fixedwing"> >>> ÃÃÃ <target name="ap"ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ >>> board="tiny_2.11"> >>> ÃÃÃÃÃ <define name="AGR_CLIMB"/> >>> ÃÃÃÃÃ <define name="LOITER_TRIM"/> >>> ÃÃÃÃÃ <define name="ALT_KALMAN"/> >>> ÃÃÃÃÃ <define name="WIND_INFO"/> >>> ÃÃÃÃÃ <define name="WIND_INFO_RET"/> >>> ÃÃÃÃÃ <define name="STRONG_WIND"/> >>> ÃÃÃÃÃ <define name="USE_I2C0"/> >>> ÃÃÃÃÃ <define name="USE_MAG_MICROMAG_FW"/> >>> ÃÃÃÃÃ <define name="MAG_MICROMAG_FW_DRDY_VIC_SLOT" value="9"/> >>> ÃÃÃÃÃ <define name="SSP_VIC_SLOT" value="11"/> >>> ÃÃÃÃÃ <define name="SENSOR_SYNC_SEND"/> >>> ÃÃÃ </target> >>> >>> ÃÃÃ <target name="sim"ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ board="pc"> >>> ÃÃÃÃÃ <define name="AGR_CLIMB"/> >>> ÃÃÃÃÃ <define name="LOITER_TRIM"/> >>> ÃÃÃÃÃ <define name="ALT_KALMAN"/> >>> ÃÃÃÃÃ <define name="WIND_INFO"/> >>> ÃÃÃÃÃ <define name="WIND_INFO_RET"/> >>> ÃÃÃ </target> >>> >>> ÃÃÃÃÃÃ <!-- RC --> >>> ÃÃÃ <subsystem name="radio_control"ÃÃÃ type="ppm"/> >>> ÃÃÃ <!-- Communication --> >>> ÃÃÃ <subsystem name="telemetry"ÃÃÃÃÃÃÃ type="transparent"> >>> ÃÃÃÃÃ <param name="MODEM_BAUD"ÃÃÃÃÃÃÃÃ value="B9600"/> >>> ÃÃÃ </subsystem> >>> ÃÃÃ <!-- Actuators are automatically chosen according to board--> >>> ÃÃÃ <subsystem name="control"/> >>> ÃÃÃ <!-- Sensors --> >>> ÃÃÃ <subsystem name="attitude"ÃÃÃÃÃÃÃÃ type="infrared"/> >>> ÃÃÃ <subsystem name="gps"ÃÃÃÃÃÃÃÃÃÃÃÃÃ type="ublox_lea4p"> >>> ÃÃÃÃÃ <param name="GPS_BAUD"ÃÃÃÃÃÃÃÃÃÃ value="B38400"/> >>> ÃÃÃ </subsystem> >>> ÃÃÃ <!-- Nav --> >>> ÃÃÃ <subsystem name="navigation"/> >>> ÃÃÃ <!-- Interfaces --> >>> ÃÃÃ <subsystem name="i2c"/> >>> Ã </firmware> >>> >>> Ã <firmware name="setup"> >>> ÃÃÃ <target name="tunnel"ÃÃÃÃÃÃÃÃÃÃÃÃÃ board="tiny_2.11"/> >>> ÃÃÃ <target name="usb_tunnel_0"ÃÃÃÃÃÃÃ board="tiny_2.11"/> >>> ÃÃÃ <target name="usb_tunnel_1"ÃÃÃÃÃÃÃ board="tiny_2.11"/> >>> ÃÃÃ <target name="setup_actuators"ÃÃÃÃ board="tiny_2.11"/> >>> Ã </firmware> >>> >>> Ã <!-- modules --> >>> Ã <modules> >>> ÃÃÃ <load name="mag_micromag_fw.xml"/> >>> ÃÃÃ <load name="baro_scp_i2c.xml"/> >>> ÃÃÃ <load name="digital_camo.xml"/> >>> Ã </modules> >>> >>> >>> Ã<section name="MAG_MICROMAG"> >>> >>> ÃÃÃ <define name="MM_SS_PIN" value="20"/> >>> ÃÃÃ <define name="MM_SS_IODIR" value="IO0DIR"/> >>> ÃÃÃ <define name="MM_SS_IOSET" value="IO0SET"/> >>> ÃÃÃ <define name="MM_SS_IOCLR" value="IO0CLR"/> >>> >>> ÃÃÃ <define name="MM_RESET_PIN" value="29"/> >>> ÃÃÃ <define name="MM_RESET_IODIR" value="IO0DIR"/> >>> ÃÃÃ <define name="MM_RESET_IOSET" value="IO0SET"/> >>> ÃÃÃ <define name="MM_RESET_IOCLR" value="IO0CLR"/> >>> >>> ÃÃÃ <define name="MM_DRDY_PINSEL" value="PINSEL1"/> >>> ÃÃÃ <define name="MM_DRDY_PINSEL_BIT" value="0"/> >>> ÃÃÃ <define name="MM_DRDY_PINSEL_VAL" value="1"/> >>> ÃÃÃ <define name="MM_DRDY_EINT" value="0"/> >>> ÃÃÃ <define name="MM_DRDY_VIC_IT" value="VIC_EINT0"/> >>> Ã </section> >>> >>> >>> Any help appreciated. >>> >>> Regards >>> >>> Stephen > > |
[Prev in Thread] | Current Thread | [Next in Thread] |