no-OS
Macros | Functions
supply.h File Reference

Power supply phase interface file. More...

#include "state_machine.h"
#include "parameters.h"
#include "no_os_irq.h"
Include dependency graph for supply.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define V1_MULT   (1000000ul)
 
#define V1_DIVIDER   (1328233ul)
 
#define V2_DIVIDER   (1996007ul)
 
#define INITIAL   4096
 
#define SAMPLES   4096
 

Functions

int get_zero_cross_flag_state (void)
 Get zero crossing flag value. More...
 
void reset_zero_cross_flag_state (void)
 Reset zero crossing flag value. More...
 
int supply_init (struct ade9113_dev **device)
 Initialize supply component. More...
 
int32_t supply_scale_v1 (int32_t val)
 Scale V1 value. More...
 
int32_t supply_scale_v2 (int32_t val)
 Scale V2 value. More...
 
int64_t rms_filter_v1 (int32_t sample)
 Compute v1 rms value. More...
 
int64_t rms_filter_v2 (int32_t sample)
 Compute v2 rms value. More...
 
int64_t rms_filter_i (int32_t sample)
 Compute i rms value. More...
 
int rms_adc_values_read (struct stout *stout, struct rms_adc_values *rms)
 saves the current and voltage values in rms_adc structure More...
 

Detailed Description

Power supply phase interface file.

Author
GMois (georg.nosp@m.e.mo.nosp@m.is@an.nosp@m.alog.nosp@m..com), REtz (radu..nosp@m.etz@.nosp@m.analo.nosp@m.g.co.nosp@m.m)

Copyright (c) 2023 Analog Devices, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Macro Definition Documentation

◆ INITIAL

#define INITIAL   4096

Initial values for the rms filters

◆ SAMPLES

#define SAMPLES   4096

◆ V1_DIVIDER

#define V1_DIVIDER   (1328233ul)

◆ V1_MULT

#define V1_MULT   (1000000ul)

◆ V2_DIVIDER

#define V2_DIVIDER   (1996007ul)

Function Documentation

◆ get_zero_cross_flag_state()

int get_zero_cross_flag_state ( void  )

Get zero crossing flag value.

Get zero crossing flag value

Returns
flag value
Here is the caller graph for this function:

◆ reset_zero_cross_flag_state()

void reset_zero_cross_flag_state ( void  )

Reset zero crossing flag value.

Reset zero crossing flag value

Returns
none
Here is the caller graph for this function:

◆ rms_adc_values_read()

int rms_adc_values_read ( struct stout stout,
struct rms_adc_values rms 
)

saves the current and voltage values in rms_adc structure

Update the rms and adc values

Parameters
stout- application strucutre
rms- structure holding the measurements values
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ rms_filter_i()

int64_t rms_filter_i ( int32_t  sample)

Compute i rms value.

Calculate i rms

Parameters
sample- i sample
Returns
i rms value

Compute i rms value.

Parameters
sample- i sample dev 1
Returns
i rms value

◆ rms_filter_v1()

int64_t rms_filter_v1 ( int32_t  sample)

Compute v1 rms value.

Calculate v1 rms

Parameters
sample- v1 sample
Returns
v1 rms value

Compute v1 rms value.

Parameters
sample- v1 sample dev 1
Returns
v1 rms value

◆ rms_filter_v2()

int64_t rms_filter_v2 ( int32_t  sample)

Compute v2 rms value.

Calculate v2 rms

Parameters
sample- v2 sample
Returns
v2 rms value

Compute v2 rms value.

Parameters
sample- v2 sample dev 1
Returns
v2 rms value

◆ supply_init()

int supply_init ( struct ade9113_dev **  device)

Initialize supply component.

Power supply phase init

Parameters
device- ADE9713 device descriptor
Returns
0 in case of success, error code otherwise

Callback to be called when an event occurs.

Parameter to be passed when the callback is called

Event that triggers the calling of the callback.

Interrupt source peripheral specifier.

Not used in the case of a GPIO IRQ controller

Here is the caller graph for this function:

◆ supply_scale_v1()

int32_t supply_scale_v1 ( int32_t  val)

Scale V1 value.

Scale V1 value

Parameters
val- value to be scaled
Returns
scaled value
Here is the caller graph for this function:

◆ supply_scale_v2()

int32_t supply_scale_v2 ( int32_t  val)

Scale V2 value.

Scale V2 value

Parameters
val- value to be scaled
Returns
scaled value
Here is the caller graph for this function: