hayodea
04db7bf76c
Fix build warning about decltype(dlclose)
2025-01-08 15:05:56 -04:00
hayodea
2dc3083cdb
whitespace
2025-01-08 13:47:16 -04:00
hayodea
bffa2b837c
Opts: Make singleton; senseApi: check senseApiLibPath, get senseApiDescFn pointer.
...
* OptionsParser now has a singleton.
* We now use the cmdline opt -p <senseApiLibPath>, and search for
the specified library in:
* senseApiLibPath, then CWD, then the place where our executable
is running from, and then finally we let the hosting OS do
its own search.
* We now call dlsym() on dlopen()'d libs to to get the senseApiDescFn
pointer.
2025-01-08 13:43:44 -04:00
hayodea
b40790ee4a
Whitespace
2025-01-08 11:50:16 -04:00
hayodea
c864bcfdd2
SenseApis: Define descriptors exported by libs
2025-01-08 11:49:28 -04:00
hayodea
f5e3986644
DeviceSpec:parser: improve exception messages
2025-01-08 11:46:59 -04:00
hayodea
5a5e2fa25f
Fix const_cast and rearrange logic in senseApi method
2025-01-08 07:56:10 -04:00
hayodea
b9aa53822f
Indentation
2025-01-08 07:27:48 -04:00
hayodea
376b29871b
Change version to 0.00.001.
2025-01-08 06:35:34 -04:00
hayodea
fe3f911db4
SenseApis: New senseApiManager and X11XcbApi
...
Still fleshing these out but ultimately senseApiMgr will manage
sense apis, and the X11XcbApi is where we'll connect to Xcb and
read the screen.
2025-01-08 06:26:36 -04:00
hayodea
f594d29a2d
DevMgr: Add sensorDevSpecs list and make intero/extro lists use unique_ptr
2025-01-08 06:23:34 -04:00
hayodea
6a494f7ff7
cmd:opts: New -a (sense-api shlibs) and -p (api shlib search dir) opts
2025-01-08 06:19:46 -04:00
hayodea
36acbdfc36
cmd:opts: Add senseApiPath in prep for new cmd opts
2025-01-08 00:32:07 -04:00
hayodea
dd7a75d9b5
devSpec: Update preprocessor error message
2025-01-07 20:21:15 -04:00
hayodea
dda8527e45
DeviceSpec: Rename server to provider
v0.00.001
2025-01-07 20:03:03 -04:00
hayodea
b9faa147e3
Docs:devspec: Server renamed to provider
2025-01-07 19:58:23 -04:00
hayodea
1d139644d6
Use move semantics in cmd line parsing
2025-01-07 18:54:00 -04:00
hayodea
e89a38203e
docs:devspec: update docs with new device-type prefix syntax
2025-01-07 14:31:30 -04:00
hayodea
fe09b00c7f
Fix build error
2025-01-07 14:24:22 -04:00
hayodea
e86a75e232
devSpec:lex: Fix devSpecType keywords
...
We can't use a plain single letter anymore, so now let's
use some longer keywords instead. New keywords are:
* +idev: interoceptors.
* +adev: actuators.
* +edev: extrospectors.
2025-01-07 14:23:25 -04:00
hayodea
4f224003fd
Main: Invoke parser and print out results
2025-01-07 14:14:57 -04:00
hayodea
54de145b2d
DevMgr: Add methods to print the parsed devSpecs
2025-01-07 14:14:24 -04:00
hayodea
42413d1cc6
DevMgr: Implement a wrapper around the yacc parser.
...
This wrapper reads the -d <devfile> arguments, collates
them into one big string and then feeds them into yacc.
2025-01-07 14:11:51 -04:00
hayodea
5c3bbdf114
Devspec: Add lexer and parser for devSpecs
...
This grammar looks simple but it consumed 2 days of my time
and it's giving me bugs all the same, but mostly working
nicely.
See the syntax documentation in /docs
2025-01-07 14:09:31 -04:00
hayodea
3b6ca14275
CmdOpts: merge -[i|a|e] into one -s option
...
We augmented the grammar to specify the type of device (intero,
extro or actuator) so we can now collapse the 3 dev spec cmd
line opts into 1 opt.
2025-01-07 14:05:23 -04:00
hayodea
f86daf97c1
Build: Check for Flex and Yacc
2025-01-07 14:04:03 -04:00
hayodea
2068feacaf
vscode: New eccentricities
2025-01-07 14:03:04 -04:00
hayodea
2b75355f98
docs:devspec: Update grammar notes
2025-01-07 12:15:52 -04:00
hayodea
46ef17bb05
Docs:deviceSpec: Update spec and document separators
2025-01-06 21:00:31 -04:00
hayodea
ec323da614
Build:m4: Add AC_PROG_[FLEX/BISON] from the MESA source code.
2025-01-06 20:59:45 -04:00
hayodea
597155a871
docs:devspec: fix example
2025-01-05 20:07:16 -04:00
hayodea
2c3ea2359d
Docs:deviceSpec: Update server params: parentheses mandatory
2025-01-05 17:43:00 -04:00
hayodea
ef5022f815
Docs: Add deviceSpec specification
...
Currently only has a spec for sensors. We'll create and add a
spec for actuators later.
2025-01-05 16:51:12 -04:00
hayodea
6307d2869e
DeviceManager: Initial class with DeviceSpecParser
...
Hopefully by the end of tonight we should be done with the dev
spec parser.
2025-01-05 14:19:53 -04:00
hayodea
f16d3b24b3
cmdopts: Now accepts 0 or more -d opts
...
In preparation for the deviceSpecParser.
2025-01-05 14:04:31 -04:00
hayodea
0232293bb0
whitespace
2025-01-05 14:03:44 -04:00
hayodea
77e6eca091
main: Gh copilot insists on this formatting
2025-01-05 14:01:16 -04:00
hayodea
e51a6bb729
Vscode: New c++ include associations I guess
2025-01-05 13:58:25 -04:00
hayodea
00ce114d40
cmdopts: Add a -?/--help option
2025-01-05 13:35:14 -04:00
hayodea
77a19deb8e
cmdopts: Add --interceptor, --extrospector, --actuator and --devicefile
2025-01-05 13:25:40 -04:00
hayodea
b4e51a0d49
Rename: implix to implex
2025-01-05 12:03:08 -04:00
hayodea
732021b9e3
Whitespace
2025-01-05 07:48:07 -04:00
hayodea
52b6d72132
Build: Use relative paths for includes
2025-01-05 07:47:38 -04:00
hayodea
812787b27f
Fix vscode Intellisense
2025-01-05 07:42:22 -04:00
hayodea
badd3545e0
Change VOSC default period to 33ms (30Hz)
2025-01-04 18:59:39 -04:00
hayodea
64e7df06b5
Build: Add CONFIG_MIND_VOSCILLATOR_PERIOD_MS
2025-01-04 18:18:44 -04:00
hayodea
7f6ba76858
Build: Remove "The" from PACKAGE_NAME
2025-01-04 18:18:17 -04:00
hayodea
90cab325e3
Mind: Rename simulator instance to "canvas"
2025-01-04 18:17:19 -04:00
hayodea
2eddecb7d6
Extrospector and Interoceptor both inherit from Sensor now
2025-01-04 14:34:54 -04:00
hayodea
aa48342bc2
New classes: Sensor and Extrospector
2025-01-04 13:48:29 -04:00