commit
						9dbba03a67
					
				@ -363,7 +363,7 @@ void transmit(uint16_t size) {
 | 
				
			|||||||
      LoRa.beginPacket();
 | 
					      LoRa.beginPacket();
 | 
				
			||||||
      LoRa.write(header); written++;
 | 
					      LoRa.write(header); written++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      for (uint16_t i; i < size; i++) {
 | 
					      for (int i=0; i < size; i++) {
 | 
				
			||||||
        LoRa.write(tbuf[i]);  
 | 
					        LoRa.write(tbuf[i]);  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        written++;
 | 
					        written++;
 | 
				
			||||||
@ -400,7 +400,7 @@ void transmit(uint16_t size) {
 | 
				
			|||||||
        LoRa.beginPacket(size);
 | 
					        LoRa.beginPacket(size);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      for (uint16_t i; i < size; i++) {
 | 
					      for (int i=0; i < size; i++) {
 | 
				
			||||||
        LoRa.write(tbuf[i]);
 | 
					        LoRa.write(tbuf[i]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        written++;
 | 
					        written++;
 | 
				
			||||||
@ -422,7 +422,7 @@ void serialCallback(uint8_t sbyte) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (!fifo16_isfull(&packet_starts) && queued_bytes < CONFIG_QUEUE_SIZE) {
 | 
					    if (!fifo16_isfull(&packet_starts) && queued_bytes < CONFIG_QUEUE_SIZE) {
 | 
				
			||||||
        uint16_t s = current_packet_start;
 | 
					        uint16_t s = current_packet_start;
 | 
				
			||||||
        uint16_t e = queue_cursor-1; if (e == -1) e = CONFIG_QUEUE_SIZE-1;
 | 
					        int e = queue_cursor-1; if (e == -1) e = CONFIG_QUEUE_SIZE-1;
 | 
				
			||||||
        uint16_t l;
 | 
					        uint16_t l;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (s != e) {
 | 
					        if (s != e) {
 | 
				
			||||||
@ -631,9 +631,9 @@ void serialCallback(uint8_t sbyte) {
 | 
				
			|||||||
void updateModemStatus() {
 | 
					void updateModemStatus() {
 | 
				
			||||||
  uint8_t status = LoRa.modemStatus();
 | 
					  uint8_t status = LoRa.modemStatus();
 | 
				
			||||||
  last_status_update = millis();
 | 
					  last_status_update = millis();
 | 
				
			||||||
  if (status & SIG_DETECT == SIG_DETECT) { stat_signal_detected = true; } else { stat_signal_detected = false; }
 | 
					  if ((status & SIG_DETECT) == SIG_DETECT) { stat_signal_detected = true; } else { stat_signal_detected = false; }
 | 
				
			||||||
  if (status & SIG_SYNCED == SIG_SYNCED) { stat_signal_synced = true; } else { stat_signal_synced = false; }
 | 
					  if ((status & SIG_SYNCED) == SIG_SYNCED) { stat_signal_synced = true; } else { stat_signal_synced = false; }
 | 
				
			||||||
  if (status & RX_ONGOING == RX_ONGOING) { stat_rx_ongoing = true; } else { stat_rx_ongoing = false; }
 | 
					  if ((status & RX_ONGOING) == RX_ONGOING) { stat_rx_ongoing = true; } else { stat_rx_ongoing = false; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (stat_signal_detected || stat_signal_synced || stat_rx_ongoing) {
 | 
					  if (stat_signal_detected || stat_signal_synced || stat_rx_ongoing) {
 | 
				
			||||||
    if (dcd_count < dcd_threshold) {
 | 
					    if (dcd_count < dcd_threshold) {
 | 
				
			||||||
@ -805,7 +805,7 @@ void buffer_serial() {
 | 
				
			|||||||
      // Discard GPS data for now
 | 
					      // Discard GPS data for now
 | 
				
			||||||
      c = 0;
 | 
					      c = 0;
 | 
				
			||||||
      while (c < MAX_CYCLES && Serial1.available()) {
 | 
					      while (c < MAX_CYCLES && Serial1.available()) {
 | 
				
			||||||
        uint8_t void_c = Serial1.read();
 | 
					        Serial1.read();
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    #endif
 | 
					    #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -849,4 +849,4 @@ void serial_interrupt_init() {
 | 
				
			|||||||
  ISR(TIMER3_CAPT_vect) {
 | 
					  ISR(TIMER3_CAPT_vect) {
 | 
				
			||||||
    buffer_serial();
 | 
					    buffer_serial();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										42
									
								
								Utilities.h
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								Utilities.h
									
									
									
									
									
								
							@ -210,10 +210,10 @@ int8_t  led_standby_direction = 0;
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void escapedSerialWrite(uint8_t byte) {
 | 
					void escapedSerialWrite(uint8_t vbyte) {
 | 
				
			||||||
	if (byte == FEND) { Serial.write(FESC); byte = TFEND; }
 | 
						if (vbyte == FEND) { Serial.write(FESC); vbyte = TFEND; }
 | 
				
			||||||
    if (byte == FESC) { Serial.write(FESC); byte = TFESC; }
 | 
					    if (vbyte == FESC) { Serial.write(FESC); vbyte = TFESC; }
 | 
				
			||||||
    Serial.write(byte);
 | 
					    Serial.write(vbyte);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void kiss_indicate_reset() {
 | 
					void kiss_indicate_reset() {
 | 
				
			||||||
@ -327,10 +327,10 @@ void kiss_indicate_frequency() {
 | 
				
			|||||||
	Serial.write(FEND);
 | 
						Serial.write(FEND);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void kiss_indicate_random(uint8_t byte) {
 | 
					void kiss_indicate_random(uint8_t vbyte) {
 | 
				
			||||||
	Serial.write(FEND);
 | 
						Serial.write(FEND);
 | 
				
			||||||
	Serial.write(CMD_RANDOM);
 | 
						Serial.write(CMD_RANDOM);
 | 
				
			||||||
	Serial.write(byte);
 | 
						Serial.write(vbyte);
 | 
				
			||||||
	Serial.write(FEND);
 | 
						Serial.write(FEND);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -474,22 +474,22 @@ bool eeprom_info_locked() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void eeprom_dump_info() {
 | 
					void eeprom_dump_info() {
 | 
				
			||||||
	for (int addr = ADDR_PRODUCT; addr <= ADDR_INFO_LOCK; addr++) {
 | 
						for (int addr = ADDR_PRODUCT; addr <= ADDR_INFO_LOCK; addr++) {
 | 
				
			||||||
		uint8_t byte = EEPROM.read(eeprom_addr(addr));
 | 
							uint8_t vbyte = EEPROM.read(eeprom_addr(addr));
 | 
				
			||||||
		escapedSerialWrite(byte);
 | 
							escapedSerialWrite(vbyte);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void eeprom_dump_config() {
 | 
					void eeprom_dump_config() {
 | 
				
			||||||
	for (int addr = ADDR_CONF_SF; addr <= ADDR_CONF_OK; addr++) {
 | 
						for (int addr = ADDR_CONF_SF; addr <= ADDR_CONF_OK; addr++) {
 | 
				
			||||||
		uint8_t byte = EEPROM.read(eeprom_addr(addr));
 | 
							uint8_t vbyte = EEPROM.read(eeprom_addr(addr));
 | 
				
			||||||
		escapedSerialWrite(byte);
 | 
							escapedSerialWrite(vbyte);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void eeprom_dump_all() {
 | 
					void eeprom_dump_all() {
 | 
				
			||||||
	for (int addr = 0; addr < EEPROM_RESERVED; addr++) {
 | 
						for (int addr = 0; addr < EEPROM_RESERVED; addr++) {
 | 
				
			||||||
		uint8_t byte = EEPROM.read(eeprom_addr(addr));
 | 
							uint8_t vbyte = EEPROM.read(eeprom_addr(addr));
 | 
				
			||||||
		escapedSerialWrite(byte);
 | 
							escapedSerialWrite(vbyte);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -500,21 +500,21 @@ void kiss_dump_eeprom() {
 | 
				
			|||||||
	Serial.write(FEND);
 | 
						Serial.write(FEND);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void eeprom_update(int mapped_addr, uint8_t byte) {
 | 
					void eeprom_update(int mapped_addr, uint8_t vbyte) {
 | 
				
			||||||
	#if MCU_VARIANT == MCU_1284P || MCU_VARIANT == MCU_2560
 | 
						#if MCU_VARIANT == MCU_1284P || MCU_VARIANT == MCU_2560
 | 
				
			||||||
		EEPROM.update(mapped_addr, byte);
 | 
							EEPROM.update(mapped_addr, vbyte);
 | 
				
			||||||
	#elif MCU_VARIANT == MCU_ESP32
 | 
						#elif MCU_VARIANT == MCU_ESP32
 | 
				
			||||||
		if (EEPROM.read(mapped_addr) != byte) {
 | 
							if (EEPROM.read(mapped_addr) != vbyte) {
 | 
				
			||||||
			EEPROM.write(mapped_addr, byte);
 | 
								EEPROM.write(mapped_addr, vbyte);
 | 
				
			||||||
			EEPROM.commit();
 | 
								EEPROM.commit();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	#endif
 | 
						#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void eeprom_write(uint8_t addr, uint8_t byte) {
 | 
					void eeprom_write(int addr, uint8_t vbyte) {
 | 
				
			||||||
	if (!eeprom_info_locked() && addr >= 0 && addr < EEPROM_RESERVED) {
 | 
						if (!eeprom_info_locked() && (addr >= 0) && (addr < EEPROM_RESERVED)) {
 | 
				
			||||||
		eeprom_update(eeprom_addr(addr), byte);
 | 
							eeprom_update(eeprom_addr(addr), vbyte);
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		kiss_indicate_error(ERROR_EEPROM_LOCKED);
 | 
							kiss_indicate_error(ERROR_EEPROM_LOCKED);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -565,8 +565,8 @@ bool eeprom_hwrev_valid() {
 | 
				
			|||||||
bool eeprom_checksum_valid() {
 | 
					bool eeprom_checksum_valid() {
 | 
				
			||||||
	char *data = (char*)malloc(CHECKSUMMED_SIZE);
 | 
						char *data = (char*)malloc(CHECKSUMMED_SIZE);
 | 
				
			||||||
	for (uint8_t  i = 0; i < CHECKSUMMED_SIZE; i++) {
 | 
						for (uint8_t  i = 0; i < CHECKSUMMED_SIZE; i++) {
 | 
				
			||||||
		char byte = EEPROM.read(eeprom_addr(i));
 | 
							char vbyte = EEPROM.read(eeprom_addr(i));
 | 
				
			||||||
		data[i] = byte;
 | 
							data[i] = vbyte;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	unsigned char *hash = MD5::make_hash(data, CHECKSUMMED_SIZE);
 | 
						unsigned char *hash = MD5::make_hash(data, CHECKSUMMED_SIZE);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user