paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] mag_micromag_fw module build errors - it works


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
>
>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

reply via email to

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