mirror of
				https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
				synced 2025-10-30 02:21:05 +00:00 
			
		
		
		
	RX protocols: abort RX bind as requested
This commit is contained in:
		
							parent
							
								
									fdd357619b
								
							
						
					
					
						commit
						660282db2e
					
				| @ -104,6 +104,7 @@ uint16_t AFHDS2A_Rx_callback() | |||||||
| 
 | 
 | ||||||
| 	switch(phase) { | 	switch(phase) { | ||||||
| 	case AFHDS2A_RX_BIND1: | 	case AFHDS2A_RX_BIND1: | ||||||
|  | 		if(IS_BIND_DONE) return initAFHDS2A_Rx();	// Abort bind
 | ||||||
| 		if (AFHDS2A_Rx_data_ready()) { | 		if (AFHDS2A_Rx_data_ready()) { | ||||||
| 			A7105_ReadData(AFHDS2A_RX_TXPACKET_SIZE); | 			A7105_ReadData(AFHDS2A_RX_TXPACKET_SIZE); | ||||||
| 			if ((packet[0] == 0xbb && packet[9] == 0x01) ||	(packet[0] == 0xbc && packet[9] <= 0x02)) { | 			if ((packet[0] == 0xbb && packet[9] == 0x01) ||	(packet[0] == 0xbc && packet[9] <= 0x02)) { | ||||||
| @ -118,6 +119,7 @@ uint16_t AFHDS2A_Rx_callback() | |||||||
| 		return 10000; | 		return 10000; | ||||||
| 
 | 
 | ||||||
| 	case AFHDS2A_RX_BIND2: | 	case AFHDS2A_RX_BIND2: | ||||||
|  | 		if(IS_BIND_DONE) return initAFHDS2A_Rx();	// Abort bind
 | ||||||
| 		// got 2nd bind packet from tx ?
 | 		// got 2nd bind packet from tx ?
 | ||||||
| 		if (AFHDS2A_Rx_data_ready()) { | 		if (AFHDS2A_Rx_data_ready()) { | ||||||
| 			A7105_ReadData(AFHDS2A_RX_TXPACKET_SIZE); | 			A7105_ReadData(AFHDS2A_RX_TXPACKET_SIZE); | ||||||
| @ -143,6 +145,7 @@ uint16_t AFHDS2A_Rx_callback() | |||||||
| 		packet[9] = 0x01; | 		packet[9] = 0x01; | ||||||
| 		packet[10] = 0x00; | 		packet[10] = 0x00; | ||||||
| 		memset(&packet[11], 0xFF, 26); | 		memset(&packet[11], 0xFF, 26); | ||||||
|  | 		A7105_SetTxRxMode(TX_EN); | ||||||
| 		A7105_WriteData(AFHDS2A_RX_RXPACKET_SIZE, packet_count++ & 1 ? 0x0D : 0x8C); | 		A7105_WriteData(AFHDS2A_RX_RXPACKET_SIZE, packet_count++ & 1 ? 0x0D : 0x8C); | ||||||
| 		phase |= AFHDS2A_RX_WAIT_WRITE; | 		phase |= AFHDS2A_RX_WAIT_WRITE; | ||||||
| 		return 1700; | 		return 1700; | ||||||
| @ -153,6 +156,7 @@ uint16_t AFHDS2A_Rx_callback() | |||||||
| 		while (micros() - pps_timer < 700) // Wait max 700µs, using serial+telemetry exit in about 120µs
 | 		while (micros() - pps_timer < 700) // Wait max 700µs, using serial+telemetry exit in about 120µs
 | ||||||
| 			if (!(A7105_ReadReg(A7105_00_MODE) & 0x01)) | 			if (!(A7105_ReadReg(A7105_00_MODE) & 0x01)) | ||||||
| 				break; | 				break; | ||||||
|  | 		A7105_SetTxRxMode(RX_EN); | ||||||
| 		A7105_Strobe(A7105_RX); | 		A7105_Strobe(A7105_RX); | ||||||
| 		phase &= ~AFHDS2A_RX_WAIT_WRITE; | 		phase &= ~AFHDS2A_RX_WAIT_WRITE; | ||||||
| 		return 10000; | 		return 10000; | ||||||
|  | |||||||
| @ -129,6 +129,7 @@ uint16_t Bayang_Rx_callback() | |||||||
| 
 | 
 | ||||||
| 	switch (phase) { | 	switch (phase) { | ||||||
| 	case BAYANG_RX_BIND: | 	case BAYANG_RX_BIND: | ||||||
|  | 		if(IS_BIND_DONE) return initBayang_Rx();	// Abort bind
 | ||||||
| 		if (NRF24L01_ReadReg(NRF24L01_07_STATUS) & _BV(NRF24L01_07_RX_DR)) { | 		if (NRF24L01_ReadReg(NRF24L01_07_STATUS) & _BV(NRF24L01_07_RX_DR)) { | ||||||
| 			// data received from TX
 | 			// data received from TX
 | ||||||
| 			if (XN297_ReadPayload(packet, BAYANG_RX_PACKET_SIZE) && ( packet[0] == 0xA4 || packet[0] == 0xA2 ) && Bayang_Rx_check_validity()) { | 			if (XN297_ReadPayload(packet, BAYANG_RX_PACKET_SIZE) && ( packet[0] == 0xA4 || packet[0] == 0xA2 ) && Bayang_Rx_check_validity()) { | ||||||
|  | |||||||
| @ -383,6 +383,8 @@ uint16_t FrSky_Rx_callback() | |||||||
| 	static int8_t tune_low, tune_high; | 	static int8_t tune_low, tune_high; | ||||||
| 	uint8_t len, ch; | 	uint8_t len, ch; | ||||||
| 
 | 
 | ||||||
|  | 	if(IS_BIND_DONE && phase != FRSKY_RX_DATA) return initFrSky_Rx();	// Abort bind
 | ||||||
|  | 
 | ||||||
| 	if ((prev_option != option) && (phase >= FRSKY_RX_DATA)) | 	if ((prev_option != option) && (phase >= FRSKY_RX_DATA)) | ||||||
| 	{ | 	{ | ||||||
| 		if (option == 0) | 		if (option == 0) | ||||||
|  | |||||||
| @ -19,7 +19,7 @@ | |||||||
| #define VERSION_MAJOR		1 | #define VERSION_MAJOR		1 | ||||||
| #define VERSION_MINOR		3 | #define VERSION_MINOR		3 | ||||||
| #define VERSION_REVISION	1 | #define VERSION_REVISION	1 | ||||||
| #define VERSION_PATCH_LEVEL	49 | #define VERSION_PATCH_LEVEL	50 | ||||||
| 
 | 
 | ||||||
| //******************
 | //******************
 | ||||||
| // Protocols
 | // Protocols
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user