Make simulator compile
This commit is contained in:
		@ -4,8 +4,14 @@
 | 
				
			|||||||
// This is wacky preprocessor magic that allows us to count the number of
 | 
					// This is wacky preprocessor magic that allows us to count the number of
 | 
				
			||||||
// members of an enum. Unfortunately, it doesn't work with enum classes, so we
 | 
					// members of an enum. Unfortunately, it doesn't work with enum classes, so we
 | 
				
			||||||
// have to use C-style enums.
 | 
					// have to use C-style enums.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The preprocessor magic is so wacky we have to prevent GCC from failing with a
 | 
				
			||||||
 | 
					// -Werror=pedantic when compiling the simulator
 | 
				
			||||||
 | 
					#pragma GCC diagnostic ignored "-Wpedantic"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define CountedEnum(NAME, TYPE, ...)                                           \
 | 
					#define CountedEnum(NAME, TYPE, ...)                                           \
 | 
				
			||||||
  typedef enum { __VA_ARGS__ } NAME;                                           \
 | 
					  typedef enum { __VA_ARGS__ } NAME;                                           \
 | 
				
			||||||
  static const size_t NAME##_COUNT = sizeof((int[]){__VA_ARGS__}) / sizeof(int);
 | 
					  static const size_t NAME##_COUNT =                                           \
 | 
				
			||||||
 | 
					      sizeof(__extension__(int[]){__VA_ARGS__}) / sizeof(int);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // INC_UTIL_H
 | 
					#endif // INC_UTIL_H
 | 
				
			||||||
 | 
				
			|||||||
@ -230,7 +230,7 @@ void led_anim_blinker(uint8_t r, uint8_t g, uint8_t b,
 | 
				
			|||||||
    colors[i][1] = g * i / (brightness_steps - 1);
 | 
					    colors[i][1] = g * i / (brightness_steps - 1);
 | 
				
			||||||
    colors[i][2] = b * i / (brightness_steps - 1);
 | 
					    colors[i][2] = b * i / (brightness_steps - 1);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  size_t simultaneous_leds = brightness_steps / next_led_steps;
 | 
					  int32_t simultaneous_leds = brightness_steps / next_led_steps;
 | 
				
			||||||
  if (simultaneous_leds * next_led_steps != brightness_steps) {
 | 
					  if (simultaneous_leds * next_led_steps != brightness_steps) {
 | 
				
			||||||
    simultaneous_leds++;
 | 
					    simultaneous_leds++;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -239,7 +239,7 @@ void led_anim_blinker(uint8_t r, uint8_t g, uint8_t b,
 | 
				
			|||||||
    int32_t furthest = 0;
 | 
					    int32_t furthest = 0;
 | 
				
			||||||
    size_t color_idx = 0;
 | 
					    size_t color_idx = 0;
 | 
				
			||||||
    while (furthest < 5 + simultaneous_leds) {
 | 
					    while (furthest < 5 + simultaneous_leds) {
 | 
				
			||||||
      for (size_t offset = 0; offset < simultaneous_leds; offset++) {
 | 
					      for (int32_t offset = 0; offset < simultaneous_leds; offset++) {
 | 
				
			||||||
        int32_t diff = furthest - offset;
 | 
					        int32_t diff = furthest - offset;
 | 
				
			||||||
        size_t led_color_idx = color_idx + offset * next_led_steps;
 | 
					        size_t led_color_idx = color_idx + offset * next_led_steps;
 | 
				
			||||||
        if (diff < 0 || diff > 4 || led_color_idx >= brightness_steps) {
 | 
					        if (diff < 0 || diff > 4 || led_color_idx >= brightness_steps) {
 | 
				
			||||||
 | 
				
			|||||||
@ -41,9 +41,19 @@ cxxDefinitionsFile:
 | 
				
			|||||||
asDefinitionsFile:
 | 
					asDefinitionsFile:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Compiler flags
 | 
					# Compiler flags
 | 
				
			||||||
cFlags: []
 | 
					cFlags:
 | 
				
			||||||
 | 
					  - -Wall
 | 
				
			||||||
 | 
					  - -Wextra
 | 
				
			||||||
 | 
					  - -Werror
 | 
				
			||||||
 | 
					  - -Wno-unused-parameter
 | 
				
			||||||
 | 
					  - -Wno-missing-field-initializers
 | 
				
			||||||
cxxFlags:
 | 
					cxxFlags:
 | 
				
			||||||
  - -fno-rtti
 | 
					  - -fno-rtti
 | 
				
			||||||
 | 
					  - -Wall
 | 
				
			||||||
 | 
					  - -Wextra
 | 
				
			||||||
 | 
					  - -Werror
 | 
				
			||||||
 | 
					  - -Wno-unused-parameter
 | 
				
			||||||
 | 
					  - -Wno-missing-field-initializers
 | 
				
			||||||
assemblyFlags: []
 | 
					assemblyFlags: []
 | 
				
			||||||
linkerFlags:
 | 
					linkerFlags:
 | 
				
			||||||
  - -specs=nosys.specs
 | 
					  - -specs=nosys.specs
 | 
				
			||||||
 | 
				
			|||||||
@ -535,9 +535,9 @@ CXXFLAGS += -g -gdwarf -ggdb
 | 
				
			|||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Add additional flags
 | 
					# Add additional flags
 | 
				
			||||||
CFLAGS += 
 | 
					CFLAGS += -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter 
 | 
				
			||||||
ASFLAGS += 
 | 
					ASFLAGS += 
 | 
				
			||||||
CXXFLAGS += -fno-rtti 
 | 
					CXXFLAGS += -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -fno-rtti 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Generate dependency information
 | 
					# Generate dependency information
 | 
				
			||||||
CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
 | 
					CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
 | 
				
			||||||
 | 
				
			|||||||
@ -33,7 +33,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* USER CODE BEGIN PD */
 | 
					/* USER CODE BEGIN PD */
 | 
				
			||||||
// Redefine here so it doesn't get overwritten on code generation
 | 
					// Redefine here so it doesn't get overwritten on code generation
 | 
				
			||||||
 | 
					#undef TOUCHGFX_STACK_SIZE
 | 
				
			||||||
#define TOUCHGFX_STACK_SIZE (8160)
 | 
					#define TOUCHGFX_STACK_SIZE (8160)
 | 
				
			||||||
 | 
					#undef TOUCHGFX_BYTE_POOL_SIZE
 | 
				
			||||||
#define TOUCHGFX_BYTE_POOL_SIZE (8192)
 | 
					#define TOUCHGFX_BYTE_POOL_SIZE (8192)
 | 
				
			||||||
/* USER CODE END PD */
 | 
					/* USER CODE END PD */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -5,4 +5,4 @@ touchgfx_path := ../Middlewares/ST/touchgfx
 | 
				
			|||||||
# Location of the TouchGFX Environment
 | 
					# Location of the TouchGFX Environment
 | 
				
			||||||
touchgfx_env := C:/TouchGFX/4.21.2/env
 | 
					touchgfx_env := C:/TouchGFX/4.21.2/env
 | 
				
			||||||
# Optional additional compiler flags
 | 
					# Optional additional compiler flags
 | 
				
			||||||
user_cflags := -DUSE_BPP=16
 | 
					user_cflags := -DUSE_BPP=16 -std=gnu++1z -Wno-cast-qual -Wno-missing-declarations
 | 
				
			||||||
 | 
				
			|||||||
@ -59,7 +59,7 @@ void DriverViewView::tearDownScreen() { DriverViewViewBase::tearDownScreen(); }
 | 
				
			|||||||
void DriverViewView::fieldTypeSelectionUpdateItem(
 | 
					void DriverViewView::fieldTypeSelectionUpdateItem(
 | 
				
			||||||
    DriverViewFieldSelection &item, int16_t itemIndex) {
 | 
					    DriverViewFieldSelection &item, int16_t itemIndex) {
 | 
				
			||||||
  item.setName(dataFieldDescs[itemIndex].title);
 | 
					  item.setName(dataFieldDescs[itemIndex].title);
 | 
				
			||||||
  item.setSelected(itemIndex == selectedFieldType);
 | 
					  item.setSelected(itemIndex == (int)selectedFieldType);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewView::setFieldType(size_t i, DataFieldType type) {
 | 
					void DriverViewView::setFieldType(size_t i, DataFieldType type) {
 | 
				
			||||||
 | 
				
			|||||||
@ -92,7 +92,7 @@ void VehicleConfigView::updateSelectedParam(int select) {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
  if (firstWanted < 0) {
 | 
					  if (firstWanted < 0) {
 | 
				
			||||||
    firstWanted = 0;
 | 
					    firstWanted = 0;
 | 
				
			||||||
  } else if (firstWanted > ParamType_COUNT - 1) {
 | 
					  } else if (firstWanted > (int16_t)(ParamType_COUNT - 1)) {
 | 
				
			||||||
    firstWanted = ParamType_COUNT - 1;
 | 
					    firstWanted = ParamType_COUNT - 1;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  params.animateToItem(firstWanted, 0);
 | 
					  params.animateToItem(firstWanted, 0);
 | 
				
			||||||
 | 
				
			|||||||
@ -1542,10 +1542,12 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "GenerateAssetsCommand": "make -f simulator/gcc/Makefile assets -j8",
 | 
					    "GenerateAssetsCommand": "make -f simulator/gcc/Makefile assets -j8",
 | 
				
			||||||
 | 
					    "GenerateAssetsCommandOverride": "make -f simulator/gcc/Makefile assets -j2",
 | 
				
			||||||
    "PostGenerateCommand": "touchgfx update_project --project-file=simulator/msvs/Application.vcxproj",
 | 
					    "PostGenerateCommand": "touchgfx update_project --project-file=simulator/msvs/Application.vcxproj",
 | 
				
			||||||
    "PostGenerateTargetCommand": "touchgfx update_project",
 | 
					    "PostGenerateTargetCommand": "touchgfx update_project",
 | 
				
			||||||
    "PostGenerateTargetCommandOverride": "",
 | 
					    "PostGenerateTargetCommandOverride": "",
 | 
				
			||||||
    "CompileSimulatorCommand": "make -f simulator/gcc/Makefile -j8",
 | 
					    "CompileSimulatorCommand": "make -f simulator/gcc/Makefile -j8",
 | 
				
			||||||
 | 
					    "CompileSimulatorCommandOverride": "make -f simulator/gcc/Makefile -j2",
 | 
				
			||||||
    "RunSimulatorCommand": "build\\bin\\simulator.exe",
 | 
					    "RunSimulatorCommand": "build\\bin\\simulator.exe",
 | 
				
			||||||
    "LandscapeSkinX": 0,
 | 
					    "LandscapeSkinX": 0,
 | 
				
			||||||
    "LandscapeSkinY": 0,
 | 
					    "LandscapeSkinY": 0,
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user