The Ekdahl FAR - Command reference V1.1
Introduction
The Ekdahl FAR V1.1 introduces the concept of modules. A module can contain any number of commands as well as other modules. Furthermore any number of modules of the same type can exist within a context, these are addressed using classic C-style array indexing with the help of brackets ("[ ]"). Extending on the classic usage, multiple indexes can be addressed simultaneously by either comma-separating the objects ("[0,3,4]") and using ranges ("[3-6]"). Modules can be either internal or external, meaning that they may all physically exist within a single hardware object, or they can be be remote-controlled devices. From a user perspective this however makes no difference as they will appear the same.
While all modules have their own set of commands, there are certain commands that all modules must implement and can thus be accessed anywhere within the module hierarchy. There are also global commands that always exist within any given FAR ecosystem as well as product-specific global commands.
The module commands that are required to be implemented in all modules and that can thus be accessed from anywhere are
| Long name | Short name | Parameters | Description |
|---|---|---|---|
| requestinfo | rqi | [command]:[optional parameters] | Uses a command-name to retrieve rather than set information associated with it, some commands have no information associated and will return nothing. Some commands require the use of optional parameters to specify which information that is to be retrieved. |
| module | m | [module number (0)] | Sets the current module. This command is intended for future versions of the Ekdahl FAR that may have more than one string module. Currently '0' is the only valid parameter |
| modulecount | mc | none | Returns the number of modules in the Ekdahl FAR. Currently always returns '1' |
| debugprint | dp | [command|usb|hardware|undefined|priority|error|inforequest|expressionparser|debug]:[0|1] | Used to turn on or off whether the instrument will return certain information over USB-Serial. The first parameter is the category, the second parameter is a boolean value. |
| version | ver | none | Returns the current firmware version |
| globalsaveallparameters | gsap | none | Saves all current data into the internal flash memory |
| globalloadallparameters | glap | none | Loads all data saved into flash, effectively overwriting any changed parameters included in the last save |
| globalresetparameters | grap | none | Resets all saved data in the flash memory, requires a immediate reset to be enacted |
| globaluservariable | guv | [variable number (0-9)]:[value (float)] | Sets or returns the user variable defined in the first parameter, if used to set the variable, the second parameter is the value. |
| expressionparserevaluate | epev | [expression] | Evaluates the given expression and returns the calculated value. Used for debugging |
| testadclatency | tal | [value (0 - 65535)] | Debugging command to test ADC latency |
| testadclatencyreturn | talr | none | Stops ADC latency testing started with tal |
| testadcminmac | tamm | [channel] | Debugging command to test the min/max value for a given channel |