no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
supply.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef __SUPPLY_H__
34#define __SUPPLY_H__
35
36#include "state_machine.h"
37#include "parameters.h"
38#include "no_os_irq.h"
39
40#define V1_MULT (1000000ul)
41#define V1_DIVIDER (1328233ul)
42#define V2_DIVIDER (1996007ul)
43
45#define INITIAL 4096
46#define SAMPLES 4096
47
50
53
55int supply_init(struct ade9113_dev **device);
56
58int32_t supply_scale_v1(int32_t val);
59
61int32_t supply_scale_v2(int32_t val);
62
64int64_t rms_filter_v1(int32_t sample);
65
67int64_t rms_filter_v2(int32_t sample);
68
70int64_t rms_filter_i(int32_t sample);
71
73int rms_adc_values_read(struct stout *stout, struct rms_adc_values *rms);
74
75#endif /* __SUPPLY_H__ */
Header file of IRQ interface.
STOUT state machine header file.
ADE9113 Device structure.
Definition ade9113.h:337
Definition ad9361_util.h:63
Definition state_machine.h:211
Structure for Stout machine.
Definition state_machine.h:172
int supply_init(struct ade9113_dev **device)
Initialize supply component.
Definition supply.c:141
void reset_zero_cross_flag_state(void)
Reset zero crossing flag value.
Definition supply.c:66
int32_t supply_scale_v2(int32_t val)
Scale V2 value.
Definition supply.c:269
int get_zero_cross_flag_state(void)
Get zero crossing flag value.
Definition supply.c:57
int64_t rms_filter_i(int32_t sample)
Compute i rms value.
Definition supply.c:318
int64_t rms_filter_v2(int32_t sample)
Compute v2 rms value.
Definition supply.c:301
int32_t supply_scale_v1(int32_t val)
Scale V1 value.
Definition supply.c:254
int rms_adc_values_read(struct stout *stout, struct rms_adc_values *rms)
saves the current and voltage values in rms_adc structure
Definition supply.c:336
int64_t rms_filter_v1(int32_t sample)
Compute v1 rms value.
Definition supply.c:284