- 30 Aug, 2016 1 commit
-
-
Jeroen Vreeken authored
-
- 16 Apr, 2015 1 commit
-
-
Jeroen Vreeken authored
-
- 13 Feb, 2015 1 commit
-
-
Jeroen Vreeken authored
Remove now unneeded nsec base time. Command handling in the sample now uses trigger time. Trace handling still has to be done, then all nsec timers can be removed from the sample.
-
- 20 Jan, 2015 6 commits
-
-
Daan Vreeken authored
The 'filename' parameter wasn't initialized here, so when extra->filename is used to generate e.g. log messages, garbage entered the log. modified: controller/controller_load.c
-
Daan Vreeken authored
We do this by checking the final state of all links after loading the top-most controller file. The new code will allow an included file to create links to blocks that will only exist later on during the load process, and it will successfully error out when links are defined for non-existing block. Furthermore, controller_block_link() will now bail out immediately when it hits an unrecoverable linker error. With this change, the error mesaage of the linker step that failed will remain at the end of the output instead of being flushed off the screen by e.g. 100+ 'Linked x to y (chained)' lines. modified: controller/controller/controller_block.c modified: controller/controller/controller_load.c
-
Daan Vreeken authored
This caused all my .ctrl files with typos or non-existing block names in their 'links { }' section to 'just run' instead of failing with an error. We will now halt with an error like : DEBUG: Input block 'digg_out2' does not (yet) exist, will try to link later ERROR: Failed to link controller! ERROR: Could not load controller file modified: controller/controller_load.c
-
Daan Vreeken authored
'slash' would be used uninitialized in this case. While we're here, change code to use strrchr() instead of rolling our own and only stat() a filename if we've found a '/', since we know 'extern->filename' will not contain a directory name otherwise. modified: controller/controller_load.c
-
Daan Vreeken authored
(You'll see why in the next commit..) modified: controller/controller_load.c
-
Daan Vreeken authored
When the .ctrl file contains a line to create an 'ec' block with incorrect arguments, the following errors would be emitted : ERROR: Invalid arguments trying to create block 'ethercat' DEBUG: Load module 'ec' with prefix 'ethercat' ERROR: ec:1: syntax error, unexpected $end DEBUG: End of module 'ec': 1 ERROR: pand.ctrl:50: Error creating block ERROR: Could not load controller file The code would first try to load the dynamically loadable 'ec' block's module. This would fail, because of incorrect arguments. controller_load_block_create() would then try to stat() the file 'ec'. When found, it is opened and loaded as a module block. The code didn't check for the file to be a regular file and my build system contains a directory with the name 'ec'. On FreeBSD, directories can be opened and read as if they were regular files, but the .ctrl file parser would fail to load the directory. Change the code to *not* try to parse directories. (It would be even better if we just stopped trying to load blocks when controller_block_create() tells us that the block does exist, but the user has made an error. At this moment though, controller_block_create() has no way of telling the caller that.) The new code bails out with : ERROR: Invalid arguments trying to create block 'ethercat' ERROR: Could not load or create block 'ec' ERROR: pand.ctrl:50: Error creating block ERROR: Could not load controller file modified: controller/controller/controller_load.c
-
- 19 Jan, 2015 4 commits
-
-
Daan Vreeken authored
The incorrect error was line 3 of the following example: ERROR: Too many arguments supplied! This function doesn't accept arguments. ERROR: Invalid arguments trying to create block 'heater3' ERROR: Could not find create function or struct for block bridge_pwm ERROR: pand.ctrl:36: Error creating block Both the create function and the create struct were found, but the block wasn't created because the arguments didn't match. This version reports: .. ERROR: Could not load or create block 'bridge_pwm' modified: controller/controller/controller_load.c
-
Daan Vreeken authored
are. modified: controller/controller/controller_load.c
-
Daan Vreeken authored
o My two cents: If you can give explicit errors that tell the user exactly what is wrong with a minimal amount of code, please do. modified: controller/controller/controller_load.c
-
Jeroen Vreeken authored
Move parameter argument check to block_parameter file. Remove arugment number check. (Full type check makes it redundant) Rename check function with controller_load prefix. Don't treat 1 argument option different from multiple options.
-
- 18 Jan, 2015 7 commits
-
-
Daan Vreeken authored
modified: controller/controller_load.c
-
Daan Vreeken authored
This will produce error messages like: ERROR: Argument mismatch in argument 1. Expected argument of type 'double' instead of 'char*' ERROR: Invalid arguments trying to create trigger 'prestart' ERROR: pand.ctrl:7: Error in trigger ERROR: Could not load controller file modified: controller/controller_load.c modified: controller/controller_sample.c modified: controller/controller_sample.h
-
Daan Vreeken authored
This will produce errors like: ERROR: Argument mismatch in argument 2. Expected argument of type 'int' instead of 'double' ERROR: Invalid arguments trying to create block 'daan_1' ERROR: pand.ctrl:52: Error creating block modified: controller/controller_block.c modified: controller/controller_block.h modified: controller/controller_load.c
-
Daan Vreeken authored
type lists. The code will generate errors like: ERROR: Invalid arguments! This function accepts any of the following: ERROR: int,float ERROR: char*,char* ERROR: Argument mismatch while trying to set 'test_arg' param on block 'daan_1' ERROR: pand.ctrl:207: Error setting parameter modified: controller/controller_load.c
-
Daan Vreeken authored
modified: controller/controller_load.c
-
Daan Vreeken authored
We now interpret it as 'from this point on, zero or more arguments of any type will do'. modified: controller/controller_load.c
-
Daan Vreeken authored
used to verify the arguments and types of block create functions, etc., but start by validating parameters for now. This helps a lot when writing .ctrl files as the parser will now stop with a sensible error instead of a segfault when arguments are mismatched. Some example output: ERROR: Invalid number of arguments! Expecting 1 argument instead of 3. ERROR: Argument mismatch while trying to set 'divider' param on block 'heater' ERROR: pand-test.ctrl:169: Error setting parameter ERROR: Argument mismatch in argument 1. Expected argument of type 'int' instead of 'char*' ERROR: Argument mismatch while trying to set 'divider' param on block 'heater' ERROR: pand-test.ctrl:169: Error setting parameter modified: controller/controller_load.c
-
- 17 Jan, 2015 2 commits
-
-
Jeroen Vreeken authored
When the blocks in the module use frequency 0.0 the module will inherit the parent blocks frequency (typicall case for makin modules of small networks which should just integrate with the parent network). If a blocks segment in a module has any other frequency it will use that. test_module.ctrl has been extended with module blocks, nested modules and a module with its own frequency domain.
-
Daan Vreeken authored
modified: controller/controller_load.c
-
- 06 Jan, 2015 1 commit
-
-
Jeroen Vreeken authored
Als add parameter description and check to parameter lists.
-
- 03 Jan, 2015 1 commit
-
-
Jeroen Vreeken authored
Blocks can now check the number of arguments before parsing them.
-
- 30 Dec, 2014 1 commit
-
-
Jeroen Vreeken authored
The frequency keyword has been removed. The blocks keyword now needs two arguments: frequency (Hz) and delay (seconds)
-
- 03 Dec, 2014 1 commit
-
-
Jeroen Vreeken authored
Use immediate trigger in test.ctrl files. Fix some bugs
-
- 01 Dec, 2014 1 commit
-
-
Jeroen Vreeken authored
-
- 30 Nov, 2014 1 commit
-
-
Jeroen Vreeken authored
Some small fixes in lex code.
-
- 04 Sep, 2014 1 commit
-
-
Jeroen Vreeken authored
Added integer variables (nice for defining named states in the state machine) Various improvements to a few blocks joystick uses controller bus multiplexer and trajectplayer can handle non existing selects (cherry picked from commit 82abe0ef)
-
- 21 Aug, 2014 1 commit
-
-
Jeroen Vreeken authored
-
- 11 Dec, 2013 2 commits
-
-
Jeroen Vreeken authored
-
Jeroen Vreeken authored
This allows both the azimuth and the elevation control file to include the ethercat device
-
- 09 Dec, 2013 1 commit
-
-
Jeroen Vreeken authored
Update to bison 2.6
-
- 04 Jun, 2013 1 commit
-
-
Jeroen Vreeken authored
Update simulator networks to have proper quantization Add pi constant
-
- 03 Jun, 2013 1 commit
-
-
Jeroen Vreeken authored
-
- 18 Mar, 2013 1 commit
-
-
Jeroen Vreeken authored
Also some changes to properly log to console when no slaves are found
-
- 15 Mar, 2013 1 commit
-
-
Jeroen Vreeken authored
A few improvements from the Vitsch Electronics CVS Use log_send() for all logging and add context (DEBUG/WARNING/ERROR) info. A little bit more comments
-
- 12 Mar, 2013 1 commit
-
-
Jeroen Vreeken authored
The controller_load functions will set it to the .ctrl filename. Modifiy dumpdot to use it to make subgraphs. This way we get a nice grouping of blocks per file.
-
- 08 Mar, 2013 1 commit
-
-
Jeroen Vreeken authored
Also fix some reentrancy issues in the controller_load functions.
-
- 21 Feb, 2013 1 commit
-
-
Jeroen Vreeken authored
-