Age | Commit message (Collapse) | Author | Files | Lines |
|
Add the session uuid to event subscribe replies to match the documented
behavior and enable clients like libappcontroller based bindings and
applications to be able to use it in their event handling.
Bug-AGL: SPEC-3074
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I185165e600410190b30b1d8bd5a6ad8675b2b714
|
|
Add definitions for the steering wheel button CAN signals to provide
an abstraction for application usage. Also add signals based on the
non-diagnostic vehicle speed, engine speed, and fuel CAN signals to
allow abstracting usage of those by e.g. the dashboard application.
In addition, SourceAPI::addSignal in source.cpp required a tweak to
allow subscribing to signals without specifying an explicit action,
i.e. getting the default on receive behavior as documented. Without
this change, the signals will silently not be subscribed to, and no
events are generated. Since there is no longer an explicit built-in
plugin function that could be called in an action to yield the same
behavior (it was removed in commit 3e45dda and not restored with the
other built-in function by commit bf964e8), I believe this restores
the intended default behavior.
Bug-AGL: SPEC-3024
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I86e8be66ff27484b34a52145b969661277332a50
|
|
Replace controller binder functions definition with the binder ones
and remove the submodules in favor of the separated libraries.
Bug-AGL: SPEC-2139
Change-Id: I06e5e7a03a918bf0ce139636104e1a73d2442a09
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Make sure that all member's structure are initialized to zero
to avoid unexpected behavior.
Bug-AGL: SPEC-2312
Change-Id: I0e5c3f7c0d5382de92693660d9812daa6735039d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Use specific binder's event handlers which allows you to bind a callback with
an incoming event based on a pattern matching. This replace the global
event listener and internal callback search algorythm which is now
delegated to the binder.
Clean unused constructor
Bug-AGL: SPEC-1968
Change-Id: I4b22c003661189fb71498efc4d9021c1a54ae866
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I8a5bc18a0bf8ad05ce83b6ff64d4329d42bff2b0
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This correct the retention value extraction as an 'int' instead
of a Json object. Also made 'api' field mandatory.
Format and improve log messages.
Change-Id: I00b337839a49fc1952be8589b48bf1a38b863549
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Answer a failure when attempting to subscibe a non-existent
signal but don't report error on unsubscription.
Change-Id: Iac4bfe52ce84b47fbfa5717cd9ee2bf02231f52f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This reports errors at signals getSignals action call
and removed incorrect signals from the source. This allows
the binding to correctly respond to the user if there was an
error in its signal definitions.
Change-Id: I7779ab9339a979fcb2b7b41f8ebf4aa27b8af3a1
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Here, assuming the absolute path leads to a non existent file
then only take the file name and do a research in the default
search path given by environment var or pre-processor defined
variables.
Change-Id: Id57428141be908cda65b07f66ca59568708d3608
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
JSON object release is done by the appfw so no need to release
the object in the request.
Tiny typo about the filepath in testsuite.
Change-Id: I8347adafbb5fa8e9e3b89c2e6db74c37f4910adf
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I1f2b7484216271f97205cb9933bfd5ef2990bb2e
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This let the application framework handle the JSON object
lifetime.
Change-Id: Iff48f478d71e71e25ed79d2c7c13b45a7b6a7bf9
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Returns error in request response instead of binder log when
you try to get a signal value.
Change-Id: I12809591801db5718aa4713034f2bb1801b6bf2d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Since last controller changes this hardcoded default action
definition.
Change-Id: I0021fef000b2085efe0deda550cff243afd6711d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Before value was translated to a C type variable two times,
at the reception then at the emission. Now it just receives
and sends the signal value without translation nor interpretation
except if you ask for an average, minimum or maximum value. Then in
those cases it interprets the json to return you a value or an
error if there is no numeric values to compute.
Remove unneeded log message at event reception.
Improved signal search engine, will search in source's signals map
by the signal ID not the event name which lead to a more direct map
match.
Bugs-AGL: SPEC-1612
Depends-On: I43e79ed73a507ac2ca7ed4cdc3f16ec009392194
Change-Id: Ie253c3fe1e8cde42dabe8832da74e9f9bf442c14
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This adds a signal's metadata attribute which lets you store
any kind and number of metadata attributes to your signal. These
metadata are just reissued at the event emission without alteration.
Special case of "unit" attribute which is kept as a signal attribute
and not as a metadata because it is an intrinsic signal attribute that
all signals should have.
Bug-AGL: SPEC-1419
Change-Id: I531b4012ac9b22f312a4ccebc1a07a8d93129403
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Update config.cmake file with app-templates improvments:
- Now versioning is handled by app-templates based on gerrit tags
- Binding version set up in config.cmake rather than in code.
- Update variables name for build type and install prefix.
Submodule afb-helpers 43ec971..a37225f:
> Fix: use of GetBindingDirPath without dynapi
> Retrieve directory list from environment variables
> Remove the file .gitmodules
> Remove unnecessary 'AFB_DEBUG' redefinition
> Use binding version to handle dynapi
> At search, use the prefix parameter as a prefix
> Remove deprecated use of cmake/Qt macro
> Rename method to avoid conflict with Qt's one
Submodule conf.d/app-templates aa68dbd..f94e45e:
> Align sample on actual default compile options
> Add support to binding version 3.
> Warning if not using wgtpkg-pack to make a widget
> Rework CMAKE_INSTALL_PREFIX and INSTALL_PREFIX var
> Be able to overwrite BUILD_TYPE using CLI
> Use CACHE variable for other common CMAKE variable
> Fix:: wrong wgt using RELEASE BUILD TYPE
> Fix: SYSROOT location detection... Wrong test.
> Change the default debug compilation options.
> Clearer coverage compilation options configuration
Submodule ctl-utilities 1ff524b..ff14c58:
> Fix : typo introduced in a previous commit.
> Use prefix variable to find controller's plugins
> Use binding version to set controller definitions
> ctl-lua: typo fix
> asynchronism for test: LockWait added
> Fix: plugin api assignement order
> Execute ConfigExec only if section is existing
> Always set the api member even if NULL.
> Ability to add a plugin after the initial load
> Be able to dispatch required api at the wanted time
Depends-On : I135a723d21d70b8c54f4cab1c534210757318ed0
Change-Id: I90938f53dd1f606b3aa39a549e618c0fe413870c
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Submodule conf.d/app-templates 6e1a3c3..aa68dbd:
> Don't overwrite the autobuild script if it exists
> Disable the in-tree build method.
> Detect Yocto as OS distribution
> Fix: wrong compile options added
> Fallback using zip format if no wgtpkg-pack found
> 02-variables.cmake: Avoid checking CXX version if not required
> config.cmake.sample: Remove dependency to libsystemd
> config.cmake.sample: Remove dependency to libmicrohttpd
> Added -D_FORTIFY_SOURCE=2 to CFLAGS
> start-on-target: uses RSYNC_PREFIX path for config
> Fixed spelling.
> Improve OS detection
> Fix: OS detection
> Launch from workdir
> Change closing that could fix native debugging
Submodule ctl-utilities 0129510...1ff524b:
> Change LUA package path at LUA interpreter load
> Don't load two times a plugin even for LUA
> Fixed hidden bound variable (apiHandle)
> Fixed null value when push Lua arguments
> Adjust to compile with incoming bindings v3
> Remove declaration to not existing functions
> Add 2 lua utilities function
> Update README.md for new metadata keys.
> Fix a compilation issue due to modif of AFB_ReqSuccess
> README:md: update README accordingly to new json scheme.
> Fixed crash due to call to json_object_put
> Fix segfault when printing long message from lua
> Fixed spelling of AFB_ReqSuccess
> Remove an unnecessary variable
> Make parsing of action loading non blocking
> Use an external file for app fw functions link
> Use macro to test request validity
> Fixed build warnings with gcc >= 7.3
> Increase lua script max message size
> Prevent lost of config file path when searching
> Correct way that api actions are handled in controller
> Handle more metadata in the controller.
> Add possibility to set prefix to NULL in CtlConfigScan
> Fixed compilation warnings with gcc-7.2.0
> Add an external field to CtlConfigT
> Make action item from a LUA action mandatory
> Handle no prefix given
> Good usage of strncat and strncpy
> Update to the new JSON syntax
> Detect failure at OnLoad action calls
> Improve reliability and function calls
> Correctly release request JSON object
> Add AFB macros
> Don't use assert in controller.
> Change lua2c JSON syntax.
> Search for Event section
> Fix: changes key name.
> Fix: arguments pointer NULL check
> Fix wrong error message.
> Simplify action definition
> Fix: Dyn API Action loading procedure
> Use new version of function GetBindingDirPath
> Format
> Merge changes from topic 'sandbox/claneys/wip'
> Upgrade config schema
> Fix: callback execution condition
< Format
< Fix: callback execution condition
< New action loading function.
< Upgrade config schema
Adapt json config file to new syntax
Fix: prefix now add the "-" so it'isn't needed to add it in the
prefix at search (signal-composer.cpp)
Fix: calling a api verb without json_object fails because
of config arguments not retrieved. (sources.cpp)
Change-Id: I48c1bca9fbac485e6a34b4645e683d9bdb1cbf2b
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This ensure that the json_object is correctly released
after. Then after that the call will have enough reference count.
Also fix a GCC warning using "if" instead of trigraph
Change-Id: I41776d9009465f48f6c0b236614c0a32244f5cfb
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Some function that are now included in the controller submodule
do not need to be in the composer as well. Also initialize
sources and signals in the same way .
JSON configuration needs to be updated to fit this changes
Change-Id: I2043791e7ee80f8350f33ed15bdf9980c0773b82
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: Ic1a0621d9c0bbbffb7dcc0f9daf148a372818cdb
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Last timestamp and value is those ones directly store as object's
attributes not the last from the history. Simple...
Change-Id: Id2c808a1b236dfa36821cf9fc5a5bcd6a4114f10
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Improve GPS plugin to be able to calculate the heading also remove
the builtin plugin that was an error. We need to pass GPS plugin in
C++ to be able to use the context.
Handle "double" and "int" signal's value.
Change-Id: I6d902e4ac76a0e933326c0b4c43922645c9c5a4c
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
The notify was in fact called 2 times.
It is attended that a callback should "set"
the signal value to record it.
Setting the signal's value already call notify which
an action should do at the end. Notifying has a
meaning only if a signal value has been modified.
Change-Id: I4a8128317a88bf7459b2c4aa0f575c4b2524e816
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This is the default precision returned by the kernel
when calling get_clocktime(), so this avoid useless
division to get a less precise time. Also signaling
event should have this kind of precision to be able
to correctly debugging system on signals heavy load.
Change-Id: I010b98305cff7387787fd8f8a1e8a0f9107a170a
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I4c2a31f5c395c0d85ec810b25fb88c70cf691375
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Adding != operator to Signal class
This operator is needed to exclude signal
inclusion in notify function and make
possible to add a signal at last position
Change-Id: I95f3434019383e52928c37f396aae938f2cfae05
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
boolean and numerical case initialized the same
way.
Change-Id: I274b5d898761c12f555ea59a178e363efe18f81d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
- Fix memleak: RRelease the Signal JSON representation once used
- Change equality condition between signals
- Use a REALTIME clock to retrieve the timestamp if not provided by
the signal. This is the most simple to date a signal and
use that time for further usage.
- Add a method to retrieve the last_timestamp value from
a signal
This with the commit from ctl-utilities submodule
"8ff0fe3c454ea32ba383a3cfa9c4e91237d6c494" fixes the
issue.
Change-Id: Ifed66796f92d789c80f10b161318f6bef788dda7
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This has changed and is now explicitly launched because
last step of Controller configuration doesn't execute it.
Change-Id: I104011b912172da62114b62eeab90c76e41459dd
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
By default subscription argument request from signal
are passed if present, else the one from the signal's
source if present.
If nothing is specified for sources then argument
is set as a NULL pointer.
Change-Id: I18db0a9922039f41d475cd08758a2afd4acaa9d4
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I77ab639593ecb3d73239244d11ee3da599caf1b4
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: Ia3c79b64a44585f7d46e3cda5fbbc59b35322d5f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
By default, signal value are initialized to 0 which isn't
acceptable to be accurate and be able to calculate virtual
signals values as result would be false.
Change-Id: I8ec40d8dcb9ce1fae42aeec9fb48369f0914fd9f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Uninitiliazed variable in submodule
Better handling of iterator assigments
Avoid multiple call to vector.size() function
Change-Id: I9cc8431e71b7d614a1619615a4048f19f5e31540
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Generate headers from afb-genskel with CPP options which
generate correctly the header for a CPP project.
Change-Id: Ibb64de25ca510a82bc91ba938fc221d9b820e175
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: Ic2f8ebee552ce982f858fe6ee93db2508a290617
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I0777e2f4dfbc054c3379ee00e8b62dc3e6254f7c
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Correctly grab lua script using simpler prefix
Correctly free Composer object's members
Adding default binding source as required-apis
Change-Id: I91d34b636286e79c7bcc27f8ba2730897ec5f424
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
- Back in normal configuration file
- Remove builtin special callback as it is just a plugin after all
- Rename main configuration files to get it works on a target
board.
Change-Id: I69165c47e5e58eb519e727cfdd83ee628d90abba
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I7f059cb6566461a96765be78841d97e9b70beee3
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Also renamed loadConf to addObjects to avoid confusion
with loadConf at init time.
Improve file research if fullpath not procided by searching
in the CONTROL_CONFIG_PATH.
Change-Id: I8e541ff7437f0378bcdc7215ff9f391dcce6db9f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Cleaning
Make some additionnals test avoiding segfault,
Filling opitonnal response object to avoid warning
Wrong plugins type register macro called
Change-Id: I012cc3ddc5f89b75dbc46c3ea535717141823884
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I36d675ba7c38ce883a021da1a82dfbe8b077a39f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
no reason to keep it as pointer, and simpler to initiaze
it at construction time.
Change-Id: I0aee4483c834e66651d80998de81c99799451ff5
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Unsubscription remove asked signals from client session
then when no more signals are requested by the client
unsubscribe from event handle.
Correctly initialize members to by correctly evaluated after
Change-Id: Icabcb5a2446c62cab4eea9bf807613b719324ea0
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: If50a439634382fa6d1c856b5c3fb29db4eb93a31
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I99d84fb56b01896caf6daa26ca50896f770ff509
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I0cff16c1d44b9363522fde7c6c9b2bd10ba376ac
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|