Skip to content

Commit

Permalink
fault_table.c is excluded from VTX build.
Browse files Browse the repository at this point in the history
  • Loading branch information
SumolX committed May 15, 2024
1 parent ca66a03 commit 4bd08cc
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 51 deletions.
2 changes: 1 addition & 1 deletion src/camera.c
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ void camera_setting_profile_check(uint8_t profile) {
if (need_reset) {
camera_setting_profile_reset(profile);
camera_setting_profile_write(profile);
add_fault(FLT_ET_CAMERA, FLT_DT_TABLE, FAULT_CAMERA_CFG_RESET);
add_fault(FLT_ET_CAMERA, FLT_DT_TABLE, FLT_TBL_CAMERA_CFG_RESET);
#ifdef _DEBUG_CAMERA
debugf("\r\ncamera setting need to be reset");
#endif
Expand Down
36 changes: 36 additions & 0 deletions src/fault/fault_table.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* This file is to be managed by the VTX codebase
* and referenced/processed by the VRX codebase.
*
* FLT_TBL_ strings are NOT to be referenced within VTX codebase!
*/
#include "fault_table.h"

const char *FLT_TBL_CAMERA[FLT_TBL_CAMERA_TOTAL] = {
"CAMERA not detected:\nReplace camera or MIPI cable.\nCheck MIPI socket for obstructions.\nCheck DM5680 chip pins are clean.",
"CAMERA configuration reset is required",
};

const char *FLT_TBL_EEPROM[FLT_TBL_EEPROM_TOTAL] = {
"EEPROM is not initialized, using default RF Power Table.",
};

const char *FLT_TBL_DM6300[FLT_TBL_DM6300_TOTAL] = {
"DM6300 not detected: Chip could be damaged or not responding back to DM5680.",
};

const char *FLT_TBL_UART[FLT_TBL_UART_TOTAL] = {
"UART Receive line not detecting data stream.",
};

const char *FLT_TBL_VTX[FLT_TBL_VTX_TOTAL] = {
"VTX overheat protection activated.",
};

const char *FLT_TBL_I2C[FLT_TBL_I2C_TOTAL] = {
"I2C RUNCAM write error.",
};

const char *FLT_TBL_SPI[FLT_TBL_SPI_TOTAL] = {
"SPI write error.",
};
68 changes: 24 additions & 44 deletions src/fault/fault_table.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,78 +4,58 @@
/**
* This file is to be managed by the VTX codebase
* and referenced/processed by the VRX codebase.
*
* FLT_TBL_ strings are NOT to be referenced within VTX codebase!
*/

typedef enum {
FAULT_CAMERA_NOT_DETECTED = 0,
FAULT_CAMERA_CFG_RESET,
FLT_TBL_CAMERA_NOT_DETECTED = 0,
FLT_TBL_CAMERA_CFG_RESET,

FAULT_CAMERA_TOTAL_ENTRIES
FLT_TBL_CAMERA_TOTAL,
} fault_table_camera_e;

static const char *FLT_TBL_CAMERA[FAULT_CAMERA_TOTAL_ENTRIES] = {
"CAMERA not detected:\nReplace camera or MIPI cable.\nCheck MIPI socket for obstructions.\nCheck DM5680 chip pins are clean.",
"CAMERA configuration reset is required",
};
extern const char *FLT_TBL_CAMERA[FLT_TBL_CAMERA_TOTAL];

typedef enum {
FAULT_EEPROM_NOT_INITIALIZED = 0,
FLT_TBL_EEPROM_NOT_INITIALIZED = 0,

FAULT_EEPROM_TOTAL_ENTRIES
FLT_TBL_EEPROM_TOTAL,
} fault_table_eeprom_e;

static const char *FLT_TBL_EEPROM[FAULT_EEPROM_TOTAL_ENTRIES] = {
"EEPROM is not initialized, using default RF Power Table.",
};
extern const char *FLT_TBL_EEPROM[FLT_TBL_EEPROM_TOTAL];

typedef enum {
FAULT_DM6300_NOT_DETECTED = 0,
FLT_TBL_DM6300_NOT_DETECTED = 0,

FAULT_DM6300_TOTAL_ENTRIES
FLT_TBL_DM6300_TOTAL,
} fault_table_dm6300_e;

static const char *FLT_TBL_DM6300[FAULT_DM6300_TOTAL_ENTRIES] = {
"DM6300 not detected: Chip could be damaged or not responding back to DM5680.",
};
extern const char *FLT_TBL_DM6300[FLT_TBL_DM6300_TOTAL];

typedef enum {
FAULT_UART_RX_DATA_TIMEOUT = 0,
FLT_TBL_UART_RX_DATA_TIMEOUT = 0,

FAULT_UART_TOTAL_ENTRIES
FLT_TBL_UART_TOTAL,
} fault_table_uart_e;

static const char *FLT_TBL_UART[FAULT_UART_TOTAL_ENTRIES] = {
"UART Receive line not detecting data stream.",
};
extern const char *FLT_TBL_UART[FLT_TBL_UART_TOTAL];

typedef enum {
FAULT_VTX_HEAT_PROTECTION_ACTIVE = 0,
FLT_TBL_VTX_HEAT_PROTECTION_ACTIVE = 0,

FAULT_VTX_TOTAL_ENTRIES
FLT_TBL_VTX_TOTAL,
} fault_table_vtx_e;

static const char *FLT_TBL_VTX[FAULT_VTX_TOTAL_ENTRIES] = {
"VTX overheat protection activated.",
};
extern const char *FLT_TBL_VTX[FLT_TBL_VTX_TOTAL];

typedef enum {
FAULT_I2C_RUNCAM_WRITE_ERROR = 0,
FLT_TBL_I2C_RUNCAM_WRITE_ERROR = 0,

FAULT_I2C_TOTAL_ENTRIES
FLT_TBL_I2C_TOTAL,
} fault_table_i2c_e;

static const char *FLT_TBL_I2C[FAULT_I2C_TOTAL_ENTRIES] = {
"I2C RUNCAM write error.",
};
extern const char *FLT_TBL_I2C[FLT_TBL_I2C_TOTAL];

typedef enum {
FAULT_SPI_WRITE_ERROR = 0,
FLT_TBL_SPI_WRITE_ERROR = 0,

FAULT_SPI_TOTAL_ENTRIES
FLT_TBL_SPI_TOTAL,
} fault_table_spi_e;

static const char *FLT_TBL_SPI[FAULT_SPI_TOTAL_ENTRIES] = {
"SPI write error.",
};
extern const char *FLT_TBL_SPI[FLT_TBL_SPI_TOTAL];

#endif /* __FAULT_TABLE_H_ */
8 changes: 4 additions & 4 deletions src/hardware.c
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ void GetVtxParameter() {
}
}
} else {
add_fault(FLT_ET_EEPROM, FLT_DT_TABLE, FAULT_EEPROM_NOT_INITIALIZED);
add_fault(FLT_ET_EEPROM, FLT_DT_TABLE, FLT_TBL_EEPROM_NOT_INITIALIZED);
#ifdef _DEBUG_MODE
debugf("\r\nEEPROM is NOT initialized. Use default rf_pwr_tab.");
#endif
Expand Down Expand Up @@ -1529,21 +1529,21 @@ void LED_Task() {
static uint8_t logged = 0;
if (!logged) {
logged = 1;
add_fault(FLT_ET_DM6300, FLT_DT_TABLE, FAULT_DM6300_NOT_DETECTED);
add_fault(FLT_ET_DM6300, FLT_DT_TABLE, FLT_TBL_DM6300_NOT_DETECTED);
}
Set_Blue_LED(diag_led_flags_dm6300lost[led_timer_cnt]);
} else if (cameraLost) {
static uint8_t logged = 0;
if (!logged) {
logged = 1;
add_fault(FLT_ET_CAMERA, FLT_DT_TABLE, FAULT_CAMERA_NOT_DETECTED);
add_fault(FLT_ET_CAMERA, FLT_DT_TABLE, FLT_TBL_CAMERA_NOT_DETECTED);
}
Set_Blue_LED(diag_led_flags_cameralost[led_timer_cnt]);
} else if (heat_protect) {
static uint8_t logged = 0;
if (!logged) {
logged = 1;
add_fault(FLT_ET_VTX, FLT_DT_TABLE, FAULT_VTX_HEAT_PROTECTION_ACTIVE);
add_fault(FLT_ET_VTX, FLT_DT_TABLE, FLT_TBL_VTX_HEAT_PROTECTION_ACTIVE);
}
Set_Blue_LED(diag_led_flags_heatprotect[led_timer_cnt]);
} else if (cur_pwr == POWER_MAX + 2) {
Expand Down
2 changes: 1 addition & 1 deletion src/i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ uint8_t RUNCAM_Write(uint8_t cam_id, uint32_t addr, uint32_t val) {
static uint8_t logged = 0;
if (!logged) {
logged = 1;
add_fault(FLT_ET_I2C, FLT_DT_TABLE, FAULT_I2C_RUNCAM_WRITE_ERROR);
add_fault(FLT_ET_I2C, FLT_DT_TABLE, FLT_TBL_I2C_RUNCAM_WRITE_ERROR);
add_fault(FLT_ET_I2C, FLT_DT_VALUE, cam_id);
add_fault(FLT_ET_I2C, FLT_DT_VALUE, value);
}
Expand Down
2 changes: 1 addition & 1 deletion targets/common.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[common]
include_dir = src
src_filter = +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/>
src_filter = +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/> -<fault/fault_table.c>
extra_scripts =
pre:script/pre_script.py
post:script/post_script.py
Expand Down

0 comments on commit 4bd08cc

Please sign in to comment.