Open FFBoard
Open source force feedback firmware
LocalAnalog Class Reference

#include <LocalAnalog.h>

Inheritance diagram for LocalAnalog:
AnalogSource CommandHandler AnalogAxisProcessing ChoosableClass PersistentStorage

Public Member Functions

 LocalAnalog ()
 
virtual ~LocalAnalog ()
 
const ClassIdentifier getInfo ()
 
void saveFlash ()
 
void restoreFlash ()
 
std::vector< int32_t > * getAxes ()
 
CommandStatus command (const ParsedCommand &cmd, std::vector< CommandReply > &replies)
 
void setAutorange (bool autorange)
 
virtual std::string getHelpstring ()
 
const ClassType getClassType () override
 returns the used classchooser selection id of this instance More...
 
- Public Member Functions inherited from AnalogSource
 AnalogSource ()
 
virtual ~AnalogSource ()
 
- Public Member Functions inherited from ChoosableClass
virtual ~ChoosableClass ()
 
uint16_t getSelectionID ()
 
- Public Member Functions inherited from PersistentStorage
 PersistentStorage ()
 
virtual ~PersistentStorage ()
 
void restoreFlashDelayed ()
 
- Public Member Functions inherited from CommandHandler
 CommandHandler (const char *clsname, uint16_t clsid, uint8_t instance=0)
 
virtual ~CommandHandler ()
 
virtual bool hasCommands ()
 
virtual void setCommandsEnabled (bool enable)
 
void registerCommands ()
 
virtual CommandStatus internalCommand (const ParsedCommand &cmd, std::vector< CommandReply > &replies)
 
virtual std::string getCommandsHelpstring ()
 
virtual std::string getCsvHelpstring ()
 
virtual uint8_t getCommandHandlerInstance ()
 
void broadcastCommandReply (CommandReply reply, uint32_t cmdId, CMDtype type)
 
void sendCommandReplyAsync (CommandReply reply, uint32_t cmdId, CMDtype type, CommandInterface *interface=nullptr)
 
virtual uint16_t getCommandHandlerID ()
 
virtual CmdHandlerInfogetCommandHandlerInfo ()
 
virtual bool isValidCommandId (uint32_t cmdid, uint32_t ignoredFlags=0, uint32_t requiredFlag=0)
 
virtual CmdHandlerCommanddefgetCommandFromName (const std::string &cmd, uint32_t ignoredFlags=0)
 
virtual CmdHandlerCommanddefgetCommandFromId (const uint32_t id, uint32_t ignoredFlags=0)
 
template<typename ID >
void registerCommand (const char *cmd, const ID cmdid, const char *help=nullptr, uint32_t flags=0)
 
- Public Member Functions inherited from AnalogAxisProcessing
 AnalogAxisProcessing (const uint32_t axisAmount, AnalogSource *analogSource, CommandHandler *cmdHandler=nullptr, bool allowFilters=true, bool allowAutoscale=true, bool allowRawValues=false, bool allowManualScale=false)
 
virtual ~AnalogAxisProcessing ()
 
CommandStatus command (const ParsedCommand &cmd, std::vector< CommandReply > &replies)
 
void setupFilters ()
 
void processAxes (std::vector< int32_t > &buf)
 
AnalogProcessingConfiggetAnalogProcessingConfig ()
 
void setAnalogProcessingConfig (AnalogProcessingConfig conf)
 
template<size_t size>
void restoreMinMaxValues (const std::array< std::pair< uint16_t, uint16_t >, size > &minMaxAddresses)
 
template<size_t size>
void saveMinMaxValues (const std::array< std::pair< uint16_t, uint16_t >, size > &minMaxAddresses)
 

Static Public Member Functions

static bool isCreatable ()
 
- Static Public Member Functions inherited from AnalogSource
static bool isCreatable ()
 
- Static Public Member Functions inherited from ChoosableClass
static bool isCreatable ()
 
- Static Public Member Functions inherited from PersistentStorage
static std::vector< PersistentStorage * > & getFlashHandlers ()
 
static void restoreFlashStartupCb ()
 
- Static Public Member Functions inherited from CommandHandler
static void logSerial (std::string string)
 Send a log formatted sequence. More...
 
static void logSerialDebug (std::string string)
 Send a log formatted sequence if debug is on. More...
 
static bool logsEnabled ()
 
static void setLogsEnabled (bool enabled)
 
static uint32_t getClassIdFromName (const char *name)
 
static const char * getClassNameFromId (const uint32_t id)
 
static CommandHandlergetHandlerFromHandlerId (const uint16_t cmdhandlerID)
 
static CommandHandlergetHandlerFromId (const uint16_t id, const uint8_t instance=0xFF)
 
static CommandHandlergetHandlerFromClassName (const char *name, const uint8_t instance=0xFF)
 
static std::vector< CommandHandler * > getHandlersFromClassName (const char *name)
 
static std::vector< CommandHandler * > getHandlersFromId (const uint16_t id)
 
static bool isInHandlerList (CommandHandler *handler)
 
static std::string getAllHelpstrings ()
 
static std::vector< CommandHandler * > & getCommandHandlers ()
 
template<typename TVal >
static CommandStatus handleGetSet (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal &value)
 
template<typename TVal , class cls , class cls1 >
static CommandStatus handleGetSetFunc (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal &value, void(cls1::*setfunc)(TVal), cls *obj)
 
template<typename TVal , class cls , class cls1 , class cls2 >
static CommandStatus handleGetFuncSetFunc (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal(cls1::*getfunc)(), void(cls2::*setfunc)(TVal), cls *obj)
 
template<typename TVal , class cls , class cls1 >
static CommandStatus handleGetFuncSet (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal &value, TVal(cls1::*getfunc)(), cls *obj)
 
- Static Public Member Functions inherited from AnalogAxisProcessing
static AnalogProcessingConfig decodeAnalogProcessingConfFromInt (uint16_t val)
 
static uint16_t encodeAnalogProcessingConfToInt (AnalogProcessingConfig &conf)
 

Static Public Attributes

static ClassIdentifier info
 
- Static Public Attributes inherited from AnalogSource
static ClassIdentifier info
 
static const std::vector< class_entry< AnalogSource > > all_analogsources
 
- Static Public Attributes inherited from ChoosableClass
static ClassIdentifier info
 
- Static Public Attributes inherited from CommandHandler
static bool logEnabled = true
 

Private Types

enum class  LocalAnalog_commands : uint32_t { pinmask , pins =2 , values =3 }
 

Private Attributes

const uint8_t numPins = ADC_PINS
 
uint8_t bitshift = 0
 
uint16_t mask = 0xffff
 
LocalAnalogConfig aconf
 

Additional Inherited Members

- Public Attributes inherited from AnalogSource
std::vector< int32_t > buf
 
- Protected Member Functions inherited from CommandHandler
void setInstance (uint8_t instance)
 
virtual void addCommandHandler ()
 
virtual void removeCommandHandler ()
 
- Static Protected Member Functions inherited from CommandHandler
static std::vector< uint16_t > & getCommandHandlerIds ()
 
- Protected Attributes inherited from ChoosableClass
uint16_t selectionId
 Should only be written by ClassChooser during creation. More...
 
- Protected Attributes inherited from PersistentStorage
bool restoreDelayedFlag = false
 
- Protected Attributes inherited from CommandHandler
bool commandsEnabled = true
 
std::vector< CmdHandlerCommanddefregisteredCommands
 
CmdHandlerInfo cmdHandlerInfo
 
- Protected Attributes inherited from AnalogAxisProcessing
AnalogProcessingConfig conf
 
const uint32_t axisAmount
 
AnalogSourceanalogSource
 
std::vector< Biquadfilters
 
std::vector< MinMaxPairminMaxVals
 
const float filterF = 30.0/1000.0
 
const float filterQ = 0.5
 
uint32_t filterSamples = 0
 
const uint32_t waitFilterSamples = 500
 
float autorangeScale = 1.05
 
std::vector< int32_t > rawValues
 
- Static Protected Attributes inherited from PersistentStorage
static bool startupComplete = false
 

Detailed Description

Definition at line 23 of file LocalAnalog.h.

Member Enumeration Documentation

◆ LocalAnalog_commands

enum class LocalAnalog::LocalAnalog_commands : uint32_t
strongprivate
Enumerator
pinmask 
pins 
values 

Definition at line 24 of file LocalAnalog.h.

Constructor & Destructor Documentation

◆ LocalAnalog()

LocalAnalog::LocalAnalog ( )

Definition at line 31 of file LocalAnalog.cpp.

◆ ~LocalAnalog()

LocalAnalog::~LocalAnalog ( )
virtual

Definition at line 45 of file LocalAnalog.cpp.

Member Function Documentation

◆ command()

CommandStatus LocalAnalog::command ( const ParsedCommand cmd,
std::vector< CommandReply > &  replies 
)
virtual
Parameters
[in]cmdThe parsed command to be executed.
[out]repliesA vector to return one or multiple reply objects into. Replies to the interface will be generated based on the reply objects. A string reply may not contain start, end and separation markers: [,],| Other characters are allowed.

Reimplemented from CommandHandler.

Definition at line 93 of file LocalAnalog.cpp.

◆ getAxes()

std::vector< int32_t > * LocalAnalog::getAxes ( )
virtual

Reimplemented from AnalogSource.

Definition at line 72 of file LocalAnalog.cpp.

◆ getClassType()

const ClassType LocalAnalog::getClassType ( )
inlineoverridevirtual

returns the used classchooser selection id of this instance

Type of this class. Mainclass, motordriver... Should be implemented by the parent class so it is not in the info struct

Reimplemented from AnalogSource.

Definition at line 44 of file LocalAnalog.h.

◆ getHelpstring()

virtual std::string LocalAnalog::getHelpstring ( )
inlinevirtual

Returns a description of this class

Reimplemented from CommandHandler.

Definition at line 42 of file LocalAnalog.h.

◆ getInfo()

const ClassIdentifier LocalAnalog::getInfo ( )
virtual

Implements AnalogSource.

Definition at line 49 of file LocalAnalog.cpp.

◆ isCreatable()

static bool LocalAnalog::isCreatable ( )
inlinestatic

Definition at line 33 of file LocalAnalog.h.

◆ restoreFlash()

void LocalAnalog::restoreFlash ( )
virtual

Should be implemented to restore settings. This is not automatically called and should be called when appropriate.

Reimplemented from PersistentStorage.

Definition at line 61 of file LocalAnalog.cpp.

◆ saveFlash()

void LocalAnalog::saveFlash ( )
virtual

Called when the user uses the "save" command and presses the save button in the configurator Automatically called by the command parser thread for every class that inherits from PersistentStorage

Reimplemented from PersistentStorage.

Definition at line 53 of file LocalAnalog.cpp.

◆ setAutorange()

void LocalAnalog::setAutorange ( bool  autorange)

Member Data Documentation

◆ aconf

LocalAnalogConfig LocalAnalog::aconf
private

Definition at line 50 of file LocalAnalog.h.

◆ bitshift

uint8_t LocalAnalog::bitshift = 0
private

Definition at line 48 of file LocalAnalog.h.

◆ info

ClassIdentifier LocalAnalog::info
static
Initial value:
= {
.name = "AIN-Pins" ,
.id=CLSID_ANALOG_LOCAL,
}

Definition at line 32 of file LocalAnalog.h.

◆ mask

uint16_t LocalAnalog::mask = 0xffff
private

Definition at line 49 of file LocalAnalog.h.

◆ numPins

const uint8_t LocalAnalog::numPins = ADC_PINS
private

Definition at line 47 of file LocalAnalog.h.


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