REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
platform::NativeSignalGenerator Class Reference

#include <signal_generator.h>

Inheritance diagram for platform::NativeSignalGenerator:
Collaboration diagram for platform::NativeSignalGenerator:

Public Member Functions

 NativeSignalGenerator ()
 
bool init () override
 Initializes the signal generator and puts it to sleep.
 
bool is_installed () const override
 Returns wether an signal generator module is actually installed and active.
 
void set_frequency (float frequency) override
 Sets the frequency of the sine / triangle output in Hz.
 
void set_phase (float phase) override
 Sets the phase of the frequency outputs synchronised to the reset pin.
 
void set_wave_form (WaveForm wave_form) override
 Sets the wave form of the function generator output.
 
bool set_amplitude (float amplitude) override
 Sets the amplitude of the sine or triangle wave in machine units.
 
bool set_square_voltage_levels (float low, float high) override
 Sets the lower and upper value of the square output in machine units.
 
bool set_square_voltage_low (float low) override
 Sets the lower value of the square output in machine units.
 
bool set_square_voltage_high (float high) override
 Sets the upper value of the square output in machine units.
 
bool set_offset (float offset) override
 Sets the constant offset of the sine or triangle output in machine units.
 
float get_real_frequency () const override
 Returns the actually set frequency of the function generator, containing rounding errors.
 
float get_real_phase () const override
 Returns the actually set phase of the function generator, containing rounding errors.
 
float get_frequency () const override
 
float get_phase () const override
 
WaveForm get_wave_form () const override
 
float get_amplitude () const override
 
float get_square_voltage_low () const override
 
float get_square_voltage_high () const override
 
float get_offset () const override
 
bool get_sleep () const override
 
float get_dac_out0 () const override
 
float get_dac_out1 () const override
 
void sleep () override
 Sets the sine / triangle output of the function generator to zero.
 
void awake () override
 Resumes outputs of the function generator to regular operation, according to the previously specified frequencies.
 
bool set_dac_out0 (float value) override
 Writes the DACout0 constant voltage output. Possible values are: [-2V, 2V].
 
bool set_dac_out1 (float value) override
 Writes the DACout1 constant voltage output. Possible values are: [-2V, 2V].
 
utils::status write_to_hardware () override
 

Detailed Description

Definition at line 8 of file signal_generator.h.

Constructor & Destructor Documentation

◆ NativeSignalGenerator()

FLASHMEM platform::NativeSignalGenerator::NativeSignalGenerator ( )

Definition at line 4 of file signal_generator.cpp.

Member Function Documentation

◆ awake()

FLASHMEM void platform::NativeSignalGenerator::awake ( )
override

Resumes outputs of the function generator to regular operation, according to the previously specified frequencies.

Definition at line 78 of file signal_generator.cpp.

◆ get_amplitude()

FLASHMEM float platform::NativeSignalGenerator::get_amplitude ( ) const
override

Definition at line 60 of file signal_generator.cpp.

◆ get_dac_out0()

FLASHMEM float platform::NativeSignalGenerator::get_dac_out0 ( ) const
override

Definition at line 72 of file signal_generator.cpp.

◆ get_dac_out1()

FLASHMEM float platform::NativeSignalGenerator::get_dac_out1 ( ) const
override

Definition at line 74 of file signal_generator.cpp.

◆ get_frequency()

FLASHMEM float platform::NativeSignalGenerator::get_frequency ( ) const
override

Definition at line 54 of file signal_generator.cpp.

◆ get_offset()

FLASHMEM float platform::NativeSignalGenerator::get_offset ( ) const
override

Definition at line 68 of file signal_generator.cpp.

◆ get_phase()

FLASHMEM float platform::NativeSignalGenerator::get_phase ( ) const
override

Definition at line 56 of file signal_generator.cpp.

◆ get_real_frequency()

FLASHMEM float platform::NativeSignalGenerator::get_real_frequency ( ) const
override

Returns the actually set frequency of the function generator, containing rounding errors.

Definition at line 46 of file signal_generator.cpp.

◆ get_real_phase()

FLASHMEM float platform::NativeSignalGenerator::get_real_phase ( ) const
override

Returns the actually set phase of the function generator, containing rounding errors.

Possible values are mapped to [0, 2PI].

Definition at line 50 of file signal_generator.cpp.

◆ get_sleep()

FLASHMEM bool platform::NativeSignalGenerator::get_sleep ( ) const
override

Definition at line 70 of file signal_generator.cpp.

◆ get_square_voltage_high()

FLASHMEM float platform::NativeSignalGenerator::get_square_voltage_high ( ) const
override

Definition at line 64 of file signal_generator.cpp.

◆ get_square_voltage_low()

FLASHMEM float platform::NativeSignalGenerator::get_square_voltage_low ( ) const
override

Definition at line 62 of file signal_generator.cpp.

◆ get_wave_form()

FLASHMEM WaveForm platform::NativeSignalGenerator::get_wave_form ( ) const
override

Definition at line 58 of file signal_generator.cpp.

◆ init()

FLASHMEM bool platform::NativeSignalGenerator::init ( )
override

Initializes the signal generator and puts it to sleep.

Definition at line 6 of file signal_generator.cpp.

◆ is_installed()

bool platform::NativeSignalGenerator::is_installed ( ) const
inlineoverride

Returns wether an signal generator module is actually installed and active.

Writing to an uninstalled generator will result in fauilure

Definition at line 16 of file signal_generator.h.

◆ set_amplitude()

FLASHMEM bool platform::NativeSignalGenerator::set_amplitude ( float amplitude)
override

Sets the amplitude of the sine or triangle wave in machine units.

Possible values are: [0, 1]. The amplitude of the square output is not affected by this function.

Definition at line 14 of file signal_generator.cpp.

◆ set_dac_out0()

FLASHMEM bool platform::NativeSignalGenerator::set_dac_out0 ( float value)
override

Writes the DACout0 constant voltage output. Possible values are: [-2V, 2V].

Definition at line 80 of file signal_generator.cpp.

◆ set_dac_out1()

FLASHMEM bool platform::NativeSignalGenerator::set_dac_out1 ( float value)
override

Writes the DACout1 constant voltage output. Possible values are: [-2V, 2V].

Definition at line 87 of file signal_generator.cpp.

◆ set_frequency()

FLASHMEM void platform::NativeSignalGenerator::set_frequency ( float frequency)
override

Sets the frequency of the sine / triangle output in Hz.

Note that the square output will always operate on half of the specified frequency. Returns the actually set frequency.

Definition at line 8 of file signal_generator.cpp.

◆ set_offset()

FLASHMEM bool platform::NativeSignalGenerator::set_offset ( float offset)
override

Sets the constant offset of the sine or triangle output in machine units.

The levels of the square output are not affected by this function.

Definition at line 39 of file signal_generator.cpp.

◆ set_phase()

FLASHMEM void platform::NativeSignalGenerator::set_phase ( float phase)
override

Sets the phase of the frequency outputs synchronised to the reset pin.

Possible values are [0, 2 PI]. Returns the actually set phase.

Definition at line 10 of file signal_generator.cpp.

◆ set_square_voltage_high()

FLASHMEM bool platform::NativeSignalGenerator::set_square_voltage_high ( float high)
override

Sets the upper value of the square output in machine units.

Possible values are: [-1, 1]. The amplitude of the sine / triangle output is not affected by this function.

Definition at line 32 of file signal_generator.cpp.

◆ set_square_voltage_levels()

FLASHMEM bool platform::NativeSignalGenerator::set_square_voltage_levels ( float low,
float high )
override

Sets the lower and upper value of the square output in machine units.

Possible values are: [-1, 1]. The amplitude of the sine / triangle output is not affected by this function.

Definition at line 21 of file signal_generator.cpp.

◆ set_square_voltage_low()

FLASHMEM bool platform::NativeSignalGenerator::set_square_voltage_low ( float low)
override

Sets the lower value of the square output in machine units.

Possible values are: [-1, 1]. The amplitude of the sine / triangle output is not affected by this function.

Definition at line 25 of file signal_generator.cpp.

◆ set_wave_form()

FLASHMEM void platform::NativeSignalGenerator::set_wave_form ( WaveForm wave_form)
override

Sets the wave form of the function generator output.

Definition at line 12 of file signal_generator.cpp.

◆ sleep()

FLASHMEM void platform::NativeSignalGenerator::sleep ( )
override

Sets the sine / triangle output of the function generator to zero.

The square output will stay at high or low level.

Definition at line 76 of file signal_generator.cpp.

◆ write_to_hardware()

FLASHMEM utils::status platform::NativeSignalGenerator::write_to_hardware ( )
override

Definition at line 95 of file signal_generator.cpp.


The documentation for this class was generated from the following files: