Members of the VeC Project#
If you are a member of the VeC Project, you are granted with access to assets of LEADS VeC (not included as assets of LEADS). Ask your contact for access to the LEADS VeC Asset Repository. For the reverse proxy server, we recommend any personnel who take over the integration of LEADS with the VeC team consider the Lightsail servers powered by AWS.
Over time, LEADS has grown into a giant project spanning multiple fields. Extensions of LEADS, such as LEADS Jarvis and Project Thor, are no longer limited to the field of software engineering, but range from data science, deep learning, artificial intelligence, to physical engineering and electronic engineering. It is not a simple task to fully understand and be familiar with the entire LEADS. Therefore, LEADS is divided into multiple sub-repositories according to the fields involved. Each repository has an independent management system, but they are all guided and supervised by the VeC Steering Council.
We are Looking for You#
We are looking for new members of the VeC Steering Council. To quickly qualify yourself, prepare for these questions.
Core#
How many contexts can there be?
You can create multiple contexts, yet only 1 can be registered.
Describe the life cycle of a context.
Pre-push -> Post-push -> Pre-update -> On-update -> Post-update
During which periods do plugins come into play?
Plugins can affect pre-push, post-push, pre-update, and post-update.
Which should be registered first, a context or a configuration?
The configuration should always be ready before the instantiation of a context.
What is SFT?
SFT, which stands for System Failure Tracer, allows different components to throw errors into a unified manager so that those error collection components can retrieve these errors.
How are devices updated, actively or passively?
Regular devices are normally updated actively, meaning that whenever
read()is called, it will acquire a new value.Shadow devices (devices that run in separate threads) are usually updated passively, meaning that it only updates when notified. For example, Arduino boards are updated when a message is received. Every time
read()is called, it will return that last updated value.
GUI#
Does the GUI main loop run in the main thread?
Yes.
How does the ProxyCanvas support switching between different widgets?
The underlying widget behind all widgets is a canvas. By switching between different widgets, it is basically switching between different drawing methods.
In CanvasBased widgets, are all elements re-rendered in every frame? What is the mechanism?
No. Only
dynamic_renderer()is called to refresh to widget.raw_renderer()is only called during initialization.