Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module Flash size: 256KB #1055

Open
Mr-Squeeto opened this issue Jan 7, 2025 · 5 comments
Open

Module Flash size: 256KB #1055

Mr-Squeeto opened this issue Jan 7, 2025 · 5 comments

Comments

@Mr-Squeeto
Copy link

Thank you Pascal for your incredible contribution to this project and your continued assistance to others.

Because of its weak transmitter, I currently have one plane that I need to address, a 4 channel Volantex P51, and want to use hardware at hand.
I build this around a FlySky FS-i6S transmitter and a 64KB BluePill STM32 but am having no luck at binding, does this look okay:

Multiprotocol version: 1.3.4.12
Module Flash size: 256KB
EEPROM initialized: 0
Protocol selection switch reads as 1
Using bank 0
Module Id: 1a59e75a
Protocol selected: 48, sub proto 1, rxnum 0, option 0
ID: 1A 59 E7 5A , HOP: 0F 14 46
Using NRF
Proto=V761, nbr_sub=3, Sub=4ch , Opt=0, FS=0, CHMap=0, rfSw=2
Init complete

I am curious about the Module Flash size of 256KB for a 64KB MCU.
Is there a _Config.h setting for this?
Thank you

@pascallanger
Copy link
Owner

Everything looks good from a startup perspective.
256KB is what the bluepill's STM32 is reporting... I don't think it has any impact. If the NRF is well connected to the bluepill and you have set the module in bind mode right after the plane has been plugged that should work...

@Mr-Squeeto
Copy link
Author

I will check the NRF wiring.

Thank you. Last request..
Do the lights blink as expected?

https://www.youtube.com/watch?v=pW4d-1_LSx0

_Config.h

#define AETR
..
#define NRF24L01_INSTALLED
..
#define NRF24L01_ENABLE_LOW_POWER
..
#define FX_NRF24L01_INO
..
#define V761_NRF24L01_INO
..
#define ENABLE_PPM
..
#define TX_CUSTOM //Custom
..
#if defined(TX_CUSTOM)
#define PPM_MAX_100 1900 // 100%
#define PPM_MIN_100 1100 // 100%
#endif
..
#define MIN_PPM_CHANNELS 4
..
#define MAX_PPM_CHANNELS 10
..
#define NBR_BANKS 1

const PPM_Parameters PPM_prot[14NBR_BANKS]= {
#if NBR_BANKS > 0
//
***************************** BANK 1 ******************************
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option Chan Order
/* 1 / {PROTO_V761, V761_4CH , 0 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
2 / {PROTO_V761, V761_4CH , 1 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
3 / {PROTO_V761, V761_4CH , 2 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
4 / {PROTO_V761, V761_4CH , 3 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
5 / {PROTO_V761, V761_4CH , 4 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
6 / {PROTO_V761, V761_4CH , 5 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
7 / {PROTO_V761, V761_4CH , 6 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
8 / {PROTO_V761, V761_4CH , 7 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
9 / {PROTO_V761, V761_4CH , 8 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
10 / {PROTO_V761, V761_4CH , 9 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
11 / {PROTO_V761, V761_4CH , 10 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
12 / {PROTO_V761, V761_4CH , 11 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
13 / {PROTO_FX, FX620 , 0 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
/
14 */ {PROTO_FX, FX620 , 1 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
#endif
..
//my adds:
#define ARDUINO_GENERIC_STM32F103C
#define GENERIC_STM32F1_SERIES
//#define DEBUG_SERIAL

@pascallanger
Copy link
Owner

The blinking at the beginning indicates that the module has not started yet since it is in debug mode and waiting for a serial connection from the PC. Then it times out and boot showing a fixed LED=correct PPM signal. Then when you disconnect the PPM it starts to slow meaning no PPM signal then stable again when you reconnect PPM.
The issue is that the bind button was not pressed at boot therefore no bind has been sent to the plane represented by a fast LED blinking. You need to press the bind button and then power on the module. You should turn off debug to speed up the boot when you don't use it or let the module plugged to your PC with a serial terminal opened..
LED patterns meaning: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Troubleshooting.md#red-led-bind-led

@Mr-Squeeto
Copy link
Author

Thank you again. I should have all that I need.
I have tried holding the bind button (black wire to gnd in the video) on start up but it is the same results.

I contacted the seller about a better transmitter option for this plane and he said that it is based on the Volantex P51.
But maybe it has a slightly different protocol than the V761.

I will check my (rats nest) wiring. I do intend to finally etch a circuit board when I have it all correct.

@pascallanger
Copy link
Owner

pascallanger commented Jan 8, 2025

It's the same protocol 99% sure. Again there was no bind at startup so for whatever reason your strap is not working... You can force the module to initiate a bind automatically at startup by changing the No_autobind flag in the bank settings of the _config.h file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants