OrangeRx Satellite Receiver - atmega32u4 - SOLVED

Post Reply
craze
Posts: 5
Joined: Mon Feb 23, 2015 2:57 am

OrangeRx Satellite Receiver - atmega32u4 - SOLVED

Post by craze »

Hi all

I am Doing a new multiwii build using a Pro Micro (atmega32u4) 3.3v mpu-6050 and an OrangeRx Satellite receiver. The only interaction I can get from the orangerx receiver is the bind process (using jumping pins to signal pulses based off defined receiver/tx type). After the bind phase pin 0 changes to INPUT and this is where I don't know whats going on. Doing Disarm / reversing channels on the TX to trying the different frame-rate types, I still cannot get the pro-micro to react to any tx data.

Below is some of the code I am using

Code: Select all

 /**************************************************************************************/
  /********                       special receiver types             ********************/
  /**************************************************************************************/

    /****************************    PPM Sum Reciver    ***********************************/
      /* The following lines apply only for specific receiver with only one PPM sum signal, on digital PIN 2
         Select the right line depending on your radio brand. Feel free to modify the order in your PPM order is different */
      //#define SERIAL_SUM_PPM         PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Graupner/Spektrum
      //#define SERIAL_SUM_PPM         ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Robe/Hitec/Futaba
      //#define SERIAL_SUM_PPM         ROLL,PITCH,YAW,THROTTLE,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Multiplex
      //#define SERIAL_SUM_PPM         PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For some Hitec/Sanwa/Others

      // Uncommenting following line allow to connect PPM_SUM receiver to standard THROTTLE PIN on MEGA boards (eg. A8 in CRIUS AIO)
      //#define PPM_ON_THROTTLE
      #define SPEK_SERIAL_PORT 1    // Forced to 0 on Pro Mini and single serial boards; Set to your choice of 0, 1, or 2 on any Mega based board (defaults to 1 on Mega).
      //**************************
      // Defines that allow a "Bind" of a Spektrum or Compatible Remote Receiver (aka Satellite) via Configuration GUI.
      //   Bind mode will be same as declared above, if your TX is capable.
      //   Ground, Power, and Signal must come from three adjacent pins.
      //   By default, these are Ground=4, Power=5, Signal=6.  These pins are in a row on most MultiWii shield boards. Pins can be overriden below. 
      //   Normally use 3.3V regulator is needed on the power pin!!  If your satellite hangs during bind (blinks, but won't complete bind with a solid light), go direct 5V on all pins.
      //**************************
      //   For Pro Mini, the connector for the Satellite that resides on the FTDI can be unplugged and moved to these three adjacent pins.
     
      //#define SPEK_BIND             //Un-Comment for Spektrum Satellie Bind Support.  Code is ~420 bytes smaller without it.
      //#define SPEK_BIND_GROUND 4
      //#define SPEK_BIND_POWER  5
      //#define SPEK_BIND_DATA   8   
     
    /**************************** DSM2-DSMX Bind Support added By Lance for AlienQuads AlienWii and Adopted by COPTERCRAZE ****************************/
      #define ONBOARD_BIND // Must be enabled to use AlienWii Onboard Bind Plug   
     
    // The following defines must match both your transmitter and receiver framerates or output will be all wonky!
      #define SPEKTRUM 1024 // Only use with 22ms
      //#define SPEKTRUM 2048   // Only use with 11ms
     
      //#define DSM2BIND_22 // DSM2 22ms 1024 Binding
      //#define DSM2BIND_11 // DSM2 11ms 2048 Binding
      #define DSMXBIND_22 // DSMX 22ms 1024 Binding
      //#define DSMXBIND_11 // DSMX 11ms 2048 Binding   

    /*******************************    SBUS RECIVER    ************************************/
      /* The following line apply only for Futaba S-Bus Receiver on MEGA boards at RX1 only (Serial 1) or PROMICRO boards.
         You have to invert the S-Bus-Serial Signal e.g. with a Hex-Inverter like IC SN74 LS 04 */
      //#define SBUS
      //#define SBUS_SERIAL_PORT 1
      #define SBUS_MID_OFFSET 988 //SBUS Mid-Point at 1500

/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  4 - ALTERNATE CPUs & BOARDS                                    *******/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /**************************************************************************************/
  /********                      Promini Specifig Settings           ********************/
  /**************************************************************************************/

    /**************************    Hexa Motor 5 & 6 Pins    *******************************/
      /* PIN A0 and A1 instead of PIN D5 & D6 for 6 motors config and promini config
         This mod allow the use of a standard receiver on a pro mini
         (no need to use a PPM sum receiver) */
      //#define A0_A1_PIN_HEX

    /*********************************    Aux 2 Pin     ***********************************/
      /* possibility to use PIN8 or PIN12 as the AUX2 RC input (only one, not both)
         it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8) */
      //#define RCAUXPIN8
      //#define RCAUXPIN12


  /**************************************************************************************/
  /*****************             Teensy 2.0 Support                    ******************/
  /**************************************************************************************/
    /* uncomment this if you use a teensy 2.0 with teensyduino
       it needs to run at 16MHz */
    //#define TEENSY20


  /**************************************************************************************/
  /********   Settings for ProMicro, Leonardo and other Atmega32u4 Boards     ***********/
  /**************************************************************************************/

    /*********************************    pin Layout     **********************************/
      /* activate this for a better pinlayout if all pins can be used => not possible on ProMicro */
      #define A32U4ALLPINS


I have searched on google and in forums and have yet to find any info to point where I need to focus my attention on.

Thanks in advance.

Craze
Last edited by craze on Fri Feb 27, 2015 8:02 pm, edited 1 time in total.

User avatar
Hamburger
Posts: 2578
Joined: Tue Mar 01, 2011 2:14 pm
Location: air
Contact:

Re: OrangeRx Satellite Receiver - atmega32u4 - No Dice

Post by Hamburger »

can you bind the satellite once via a regular receiver?
All I did in config.h for satellite together with a nanowii 32u4 board is #define SPEKTRUM 1024

craze
Posts: 5
Joined: Mon Feb 23, 2015 2:57 am

Re: OrangeRx Satellite Receiver - atmega32u4 - No Dice

Post by craze »

I don't have a receiver, however I do believe that I am good on the binding. I am using some code from a single FC board project with a similar setup and that appears to be working great. I set the jumper and right after I plug it in it goes right into bind mode as it should, I then Bind the receiver and and the light on the orangerx goes solid, Right after I remove the bind plug its then where the problem begins. Receiver appears to be sending some data, I managed to Serial.Println a RCdata frame header and it appears to be changing values when I turn the Tx on off and move the sticks.

I am also running some code that I got off the groups to debug serial RX data. But it also shows me the default 1502 stick position data only so I know the stream is no correct or lining up with the orange receiver.

My next setup is to throw this on my oscilloscope and verity I am getting something out of it.

craze
Posts: 5
Joined: Mon Feb 23, 2015 2:57 am

Re: OrangeRx Satellite Receiver - atmega32u4 - No Dice

Post by craze »

Ok more progress. Its a problem with the 3.3v board. I am going to get my second 3.3v board and make sure its no the board. The reason is I connected a 5v pro micro with a 3.3v regulator and its working like a charm.

So if its not the board, the question I have is there some underlying code that needs to be adjusted to handle 3.3v Pro Micro RX interface for Spektrum satellite receiver?

craze
Posts: 5
Joined: Mon Feb 23, 2015 2:57 am

Re: OrangeRx Satellite Receiver - atmega32u4 - SOLVED

Post by craze »

Ok the reason this is not working is due to the 8mhz 3.3v setup. it appears to handle some of the needed functions but It is not capable of handling the 115200 baud rate do to the fact that the crystal fuse and boot loader are not capable of handling this speed efficiently. however it tends to send serial data fine but receiving it on the other had is the issue and is not able to keep up.

Craze

User avatar
Hamburger
Posts: 2578
Joined: Tue Mar 01, 2011 2:14 pm
Location: air
Contact:

Re: OrangeRx Satellite Receiver - atmega32u4 - SOLVED

Post by Hamburger »

you may experience other effects with 8MHz mcu. Not sure if the timers work the same as with 16MHz mcus.

Post Reply