// evaluate all other incoming serial data
void evaluateOtherData(uint8_t sr) {
  #ifndef SUPPRESS_OTHER_SERIAL_COMMANDS
    switch (sr) {
    // Note: we may receive weird characters here which could trigger unwanted features during flight.
    //       this could lead to a crash easily.
    //       Please use if (!f.ARMED) where neccessary
      #ifdef LCD_CONF
        case 's':
        case 'S':
          if (!f.ARMED) configurationLoop();
          break;
      #endif
      #ifdef LOG_PERMANENT_SHOW_AT_L
        case 'L':
          if (!f.ARMED) dumpPLog(1);
          break;
        #endif
        #if defined(LCD_TELEMETRY) && defined(LCD_TEXTSTAR)
        case 'A': // button A press
          toggle_telemetry(1);
          break;
        case 'B': // button B press
          toggle_telemetry(2);
          break;
        case 'C': // button C press
          toggle_telemetry(3);
          break;
        case 'D': // button D press
          toggle_telemetry(4);
          break;
        case 'a': // button A release
        case 'b': // button B release
        case 'c': // button C release
        case 'd': // button D release
          break;
      #endif
      #ifdef LCD_TELEMETRY
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
      #ifndef SUPPRESS_TELEMETRY_PAGE_R
        case 'R':
      #endif
      #if defined(DEBUG) || defined(DEBUG_FREE)
        case 'F':
      #endif
          toggle_telemetry(sr);
          break;
      #endif // LCD_TELEMETRY
    }
  #endif // SUPPRESS_OTHER_SERIAL_COMMANDS
}
Example #2
0
// evaluate all other incoming serial data
void evaluateOtherData(uint8_t sr) {
#ifndef SUPPRESS_OTHER_SERIAL_COMMANDS
#if GPS
#if !defined(I2C_GPS)
	// on the GPS port, we must avoid interpreting incoming values for other commands because there is no
	// protocol protection as is with MSP commands
	// doing so with single chars would be prone to error.
	if (CURRENTPORT == GPS_SERIAL) return;
#endif
#endif
	switch (sr) {
		// Note: we may receive weird characters here which could trigger unwanted features during flight.
		//       this could lead to a crash easily.
		//       Please use if (!f.ARMED) where neccessary
#ifdef LCD_CONF
	case 's':
	case 'S':
		if (!f.ARMED) configurationLoop();
		break;
#endif
#ifdef LOG_PERMANENT_SHOW_AT_L
	case 'L':
		if (!f.ARMED) dumpPLog(1);
		break;
#endif
#if defined(LCD_TELEMETRY) && defined(LCD_TEXTSTAR)
	case 'A': // button A press
		toggle_telemetry(1);
		break;
	case 'B': // button B press
		toggle_telemetry(2);
		break;
	case 'C': // button C press
		toggle_telemetry(3);
		break;
	case 'D': // button D press
		toggle_telemetry(4);
		break;
	case 'a': // button A release
	case 'b': // button B release
	case 'c': // button C release
	case 'd': // button D release
		break;
#endif
#ifdef LCD_TELEMETRY
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
#ifndef SUPPRESS_TELEMETRY_PAGE_R
	case 'R':
#endif
#if defined(DEBUG) || defined(DEBUG_FREE)
	case 'F':
#endif
		toggle_telemetry(sr);
		break;
#endif // LCD_TELEMETRY
	}
#endif // SUPPRESS_OTHER_SERIAL_COMMANDS
}