#ifndef __WTDG_H
#define __WTDG_H
#include "includes.h"
#include "stm32f4xx_iwdg.h"

#define CURRENT_DOG    0x00000001
#define SOC_DOG        0x00000002
#define ADC_DOG        0x00000004
#define INCAN_RX_DOG   0x00000008
#define INCAN_TX_DOG   0x00000010
#define INCAN_INFO_DOG 0x00000020
#define CAN2_TX_DOG    0x00000040
#define CAN2_RX_DOG    0x00000080
#define FAULT_DIG_DOG  0x00000100
#define UART1_DOG      0x00000200
#define UART3_DOG      0x00000400
// #define UART6_DOG      0x00000800
#define MISC_DOG    0x00001000
#define PROCESS_DOG 0x00002000

extern OS_EVENT *wtdg_mutex;

void iwdg_init(void);
void iwdg_feed(INT32U dog);

#endif
