thunder  2.0.0.0
Data Structures | Macros | Functions
thunder.h File Reference

This file contains API for Thunder Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"

Go to the source code of this file.

Data Structures

struct  thunder_t
 Click ctx object definition. More...
 
struct  thunder_cfg_t
 Click configuration structure definition. More...
 

Macros

#define THUNDER_MAP_MIKROBUS(cfg, mikrobus)
 
#define THUNDER_RETVAL   uint8_t
 
#define THUNDER_OK   0x00
 
#define THUNDER_INIT_ERROR   0xFF
 
#define THUNDER_DEV_ADDR_0   0x00
 
#define THUNDER_DEV_ADDR_1   0x01
 
#define THUNDER_DEV_ADDR_2   0x02
 
#define THUNDER_DEV_ADDR_3   0x03
 
#define THUNDER_CONFIG_0_REG   0x00
 
#define THUNDER_CONFIG_1_REG   0x01
 
#define THUNDER_CONFIG_2_REG   0x02
 
#define THUNDER_CONFIG_3_INTERR_REG   0x03
 
#define THUNDER_ENERGY_LIGHTNING_LSBYTE_REG   0x04
 
#define THUNDER_ENERGY_LIGHTNING_MSBYTE_REG   0x05
 
#define THUNDER_ENERGY_LIGHTNING_MMSBYTE_REG   0x06
 
#define THUNDER_DISTANCE_REG   0x07
 
#define THUNDER_INTERR_PIN_CONFIG_REG   0x08
 
#define THUNDER_LDLUT_1_REG   0x09
 
#define THUNDER_LDLUT_2_REG   0x0A
 
#define THUNDER_LDLUT_3_REG   0x0B
 
#define THUNDER_LDLUT_4_REG   0x0C
 
#define THUNDER_LDLUT_5_REG   0x0D
 
#define THUNDER_LDLUT_6_REG   0x0E
 
#define THUNDER_LDLUT_7_REG   0x0F
 
#define THUNDER_LDLUT_8_REG   0x10
 
#define THUNDER_LDLUT_9_REG   0x11
 
#define THUNDER_LDLUT_10_REG   0x12
 
#define THUNDER_LDLUT_11_REG   0x13
 
#define THUNDER_LDLUT_12_REG   0x14
 
#define THUNDER_LDLUT_13_REG   0x15
 
#define THUNDER_LDLUT_14_REG   0x16
 
#define THUNDER_LDLUT_15_REG   0x17
 
#define THUNDER_LDLUT_16_REG   0x18
 
#define THUNDER_LDLUT_17_REG   0x19
 
#define THUNDER_LDLUT_18_REG   0x1A
 
#define THUNDER_LDLUT_19_REG   0x1B
 
#define THUNDER_LDLUT_20_REG   0x1C
 
#define THUNDER_LDLUT_21_REG   0x1D
 
#define THUNDER_LDLUT_22_REG   0x1E
 
#define THUNDER_LDLUT_23_REG   0x1F
 
#define THUNDER_LDLUT_24_REG   0x20
 
#define THUNDER_LDLUT_25_REG   0x21
 
#define THUNDER_LDLUT_26_REG   0x22
 
#define THUNDER_LDLUT_27_REG   0x23
 
#define THUNDER_LDLUT_28_REG   0x24
 
#define THUNDER_LDLUT_29_REG   0x25
 
#define THUNDER_LDLUT_30_REG   0x26
 
#define THUNDER_LDLUT_31_REG   0x27
 
#define THUNDER_LDLUT_32_REG   0x28
 
#define THUNDER_LDLUT_33_REG   0x29
 
#define THUNDER_LDLUT_34_REG   0x2A
 
#define THUNDER_LDLUT_35_REG   0x2B
 
#define THUNDER_LDLUT_36_REG   0x2C
 
#define THUNDER_LDLUT_37_REG   0x2D
 
#define THUNDER_LDLUT_38_REG   0x2E
 
#define THUNDER_LDLUT_39_REG   0x2F
 
#define THUNDER_LDLUT_40_REG   0x30
 
#define THUNDER_LDLUT_41_REG   0x31
 
#define THUNDER_LDLUT_42_REG   0x32
 
#define THUNDER_RESET_REG   0x3C
 
#define THUNDER_CALIB_REG   0x3D
 
#define THUNDER_INDOOR   0x24
 
#define THUNDER_OUTDOOR   0x1C
 
#define THUNDER_NORMAL_MODE   0x00
 
#define THUNDER_POWER_DOWN   0x01
 
#define THUNDER_CLEAR_STAT   0xC0
 
#define THUNDER_1_LIGHTNING   0x80
 
#define THUNDER_5_LIGHTNINGS   0x90
 
#define THUNDER_9_LIGHTNINGS   0xA0
 
#define THUNDER_16_LIGHTNINGS   0xB0
 
#define THUNDER_DIV_RATIO_16   0x00
 
#define THUNDER_DIV_RATIO_32   0x40
 
#define THUNDER_DIV_RATIO_64   0x80
 
#define THUNDER_DIV_RATIO_128   0xC0
 
#define THUNDER_MASK_DISTURBER   0x20
 
#define THUNDER_UNMASK_DISTURBER   0x00
 
#define THUNDER_NO_INTERR   0x00
 
#define THUNDER_NOISE_LEVEL_INTERR   0x01
 
#define THUNDER_DISTURBER_INTERR   0x04
 
#define THUNDER_LIGHTNING_INTERR   0x08
 
#define THUNDER_LCO_ON_IRQ_PIN   0x80
 
#define THUNDER_SRCO_ON_IRQ_PIN   0x40
 
#define THUNDER_TRCO_ON_IRQ_PIN   0x20
 
#define THUNDER_NO_DISPLAY_ON_IRQ_PIN   0x00
 
#define THUNDER_RESET_COMM   0x00
 
#define THUNDER_CALIB_RCO_COMM   0x01
 

Functions

void thunder_cfg_setup (thunder_cfg_t *cfg)
 Config Object Initialization function. More...
 
THUNDER_RETVAL thunder_init (thunder_t *ctx, thunder_cfg_t *cfg)
 Initialization function. More...
 
void thunder_default_cfg (thunder_t *ctx)
 Click Default Configuration function. More...
 
void thunder_generic_transfer (thunder_t *ctx, uint8_t *wr_buf, uint16_t wr_len, uint8_t *rd_buf, uint16_t rd_len)
 Generic transfer function. More...
 
uint8_t thunder_write_reg (thunder_t *ctx, uint8_t reg_addr, uint8_t transfer_data)
 Generic Write function. More...
 
uint8_t thunder_read_reg (thunder_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint8_t n_bytes)
 Generic Read function. More...
 
void thunder_send_command (thunder_t *ctx, uint8_t command)
 Command Send function. More...
 
uint8_t thunder_check_interr (thunder_t *ctx)
 Interrupt Check function. More...
 
void thunder_get_storm_info (thunder_t *ctx, uint32_t *energy_out, uint8_t *distance_out)
 Storm Information Get function. More...
 
uint8_t thunder_check_irq_pin (thunder_t *ctx)
 IRQ Pin Check function. More...
 

Detailed Description

This file contains API for Thunder Click driver.