qba667 / FlySkyI6

14 channels FW modifications for FlySky I6
GNU General Public License v3.0
283 stars 72 forks source link

Can the X6B receiver use the combined ibus/telemetry? #45

Open unitware opened 6 years ago

unitware commented 6 years ago

I have got a few "Flysky X6B 2.4G 6CH i-BUS PPM PWM Receiver for AFHDS i10 i6s i6 i6x i4x Transmitter"

They are good in that there is mounting holes that match the flight controller and they can monitor the battery voltage with dedicated input.

However there is no ibus telemetry pin, can these receivers be programmed with the i6a firmware?

qba667 commented 6 years ago

@unitware the hardware is almost the same - but I have never tried - go ahead be first one:) Probably you will lose external voltage sensing - but if we have enough luck we can use version of IA6B I have patched - where telemetry and channel data are being send on same serial. If not we can think how to make it working - maybe re-configuring UART and injecting code.

unitware commented 6 years ago

cool, I'll try that in a few days when I'm feeling lucky.. Any instructions on how to do the upgrade somewhere? (I know, I'm lazy - but its sometimes hard to find the most accurate instructions..)

qba667 commented 6 years ago

@unitware Description is here: https://github.com/povlhp/FlySkyRxFirmware Firmware with same serial: https://github.com/qba667/MAVLinkToIbus/tree/master/IA6B

qba667 commented 6 years ago

@unitware I need small explanation. First of all I have implemented configurable IBUS telemetry in Cleanflight. But I have few problems while testing using unit tests. I am using preprocesor directives #ifdef to exclude functionality when for example GPS or BARO is not compiled. But during linking I am getting error about undefined variables related to those features. So those seems to be defined because code gets compiled but variables are not visible. For example

#if defined(BARO)
      case IBUS_SENSOR_TYPE_ALT:
        set32(buffer, baro.BaroAlt);
        break;
#endif

generates error: main/telemetry/ibus_shared.c:395: undefined reference to `baro' but the include #include "sensors/barometer.h" is present in ibus_shared.c

Do I have to define all those stubs in test? According to guideline I can not create PR for the telemetry before PR for tests.

unitware commented 6 years ago

Is it the same after a clean build?

If so then BARO is defined and you will need to stub it. Which branch are you working in?

Skickat från min iPhone

15 jan. 2018 kl. 11:12 skrev Jakub notifications@github.com:

@unitware I need small explanation. First of all I have implemented configurable IBUS telemetry in Cleanflight. But I have few problems while testing using unit tests. I am using preprocesor directives #ifdef to exclude functionality when for example GPS or BARO is not compiled. But during linking I am getting error about undefined variables related to those features. So those seems to be defined because code gets compiled but variables are not visible.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

qba667 commented 6 years ago

@unitware thanks I have did it already. Seems to be fine but I have to define many stubs in the test. I am working on my own copy of main branch. After cleaning up of code I will create PR.

Yenya commented 4 years ago

@unitware, @qba667 - this is not related to the Tx firmware, isn't it? Can I close the issue here?

lmanchanda75 commented 2 years ago

cool, I'll try that in a few days when I'm feeling lucky.. Any instructions on how to do the upgrade somewhere? (I know, I'm lazy - but its sometimes hard to find the most accurate instructions..)

@unitware were you successful in this ?