Rename I2C_Watchdog*Counter to I2cWatchdog_*Counter.

This commit is contained in:
László Monda
2017-09-29 00:44:22 +02:00
parent 69f3c86185
commit 508ef870ae
4 changed files with 20 additions and 19 deletions

View File

@@ -5,8 +5,8 @@
#include "init_peripherals.h"
static uint32_t prevWatchdogCounter = 0;
uint32_t I2C_WatchdogInnerCounter;
volatile uint32_t I2C_WatchdogOuterCounter;
uint32_t I2cWatchdog_InnerCounter;
volatile uint32_t I2cWatchdog_OuterCounter;
void InitI2cWatchdog(void)
{
@@ -21,11 +21,11 @@ void InitI2cWatchdog(void)
void I2C_WATCHDOG_LPTMR_HANDLER(void)
{
I2C_WatchdogOuterCounter++;
I2cWatchdog_OuterCounter++;
TEST_LED_TOGGLE();
if (I2C_Watchdog == prevWatchdogCounter && I2C_WatchdogOuterCounter>10) { // Restart I2C if there hasn't been any interrupt during 100 ms
I2C_WatchdogInnerCounter++;
if (I2C_Watchdog == prevWatchdogCounter && I2cWatchdog_OuterCounter>10) { // Restart I2C if there hasn't been any interrupt during 100 ms
I2cWatchdog_InnerCounter++;
I2C_SlaveDeinit(I2C_BUS_BASEADDR);
//InitI2c();
}

View File

@@ -9,18 +9,19 @@
#define PIT_I2C_WATCHDOG_IRQ_ID PIT0_IRQn
#define PIT_SOURCE_CLOCK CLOCK_GetFreq(kCLOCK_BusClk)
uint32_t I2cWatchdog_OuterCounter;
uint32_t I2cWatchdog_InnerCounter;
static uint32_t prevWatchdogCounter;
uint32_t I2C_WatchdogInnerCounter;
uint32_t I2C_WatchdogOuterCounter;
// This function restarts and reinstalls the I2C handler when the I2C bus gets unresponsive
// by a misbehaving I2C slave, or by disconnecting the left keyboard half or an add-on module.
// This method relies on a patched KSDK which increments I2C_Watchdog upon I2C transfers.
void PIT_I2C_WATCHDOG_HANDLER(void)
{
I2C_WatchdogOuterCounter++;
I2cWatchdog_OuterCounter++;
if (I2C_Watchdog == prevWatchdogCounter) { // Restart I2C if there hasn't be any interrupt during 100 ms
I2C_WatchdogInnerCounter++;
I2cWatchdog_InnerCounter++;
i2c_master_config_t masterConfig;
I2C_MasterGetDefaultConfig(&masterConfig);
I2C_MasterDeinit(I2C_MAIN_BUS_BASEADDR);

View File

@@ -3,8 +3,8 @@
// Variables:
extern uint32_t I2C_WatchdogInnerCounter;
extern uint32_t I2C_WatchdogOuterCounter;
extern uint32_t I2cWatchdog_InnerCounter;
extern uint32_t I2cWatchdog_OuterCounter;
// Functions:

View File

@@ -211,15 +211,15 @@ void getDebugInfo(void)
GenericHidOutBuffer[7] = BridgeCounter >> 16;
GenericHidOutBuffer[8] = BridgeCounter >> 24;
GenericHidOutBuffer[9] = I2C_WatchdogOuterCounter >> 0;
GenericHidOutBuffer[10] = I2C_WatchdogOuterCounter >> 8;
GenericHidOutBuffer[11] = I2C_WatchdogOuterCounter >> 16;
GenericHidOutBuffer[12] = I2C_WatchdogOuterCounter >> 24;
GenericHidOutBuffer[9] = I2cWatchdog_OuterCounter >> 0;
GenericHidOutBuffer[10] = I2cWatchdog_OuterCounter >> 8;
GenericHidOutBuffer[11] = I2cWatchdog_OuterCounter >> 16;
GenericHidOutBuffer[12] = I2cWatchdog_OuterCounter >> 24;
GenericHidOutBuffer[13] = I2C_WatchdogInnerCounter >> 0;
GenericHidOutBuffer[14] = I2C_WatchdogInnerCounter >> 8;
GenericHidOutBuffer[15] = I2C_WatchdogInnerCounter >> 16;
GenericHidOutBuffer[16] = I2C_WatchdogInnerCounter >> 24;
GenericHidOutBuffer[13] = I2cWatchdog_InnerCounter >> 0;
GenericHidOutBuffer[14] = I2cWatchdog_InnerCounter >> 8;
GenericHidOutBuffer[15] = I2cWatchdog_InnerCounter >> 16;
GenericHidOutBuffer[16] = I2cWatchdog_InnerCounter >> 24;
/*
uint64_t ticks = microseconds_get_ticks();
uint32_t microseconds = microseconds_convert_to_microseconds(ticks);