Custom application
SiliXcon can provide its customers with a custom application for the SiliXcon devices. This application can be tailored to the customer's needs and can include custom features, branding, and more. Usually, we call this application an OEM application.
Before starting the development of the custom application, we always encourage our customers to evaluate our products with our standard (public) application. This will allow you to understand the capabilities of the device and the features that are already available.
- Check What is SWID and what is "modification" in the context of the SWID.
- Check [What is application in the context of device firmware.
Application types
For the successful development of custom applications, it is important to understand the different types of applications that are available for the SiliXcon devices.
It is completely up to siliXcon developers to decide if new feature requests will be implemented in the public application, custom modification or custom application. So it may happen, that modification is developed, but with a new feature request, the conversion to a custom application is needed.
Public application
By public, we mean, that the application is available for all customers. This is LYNX and OPHION for the controllers.
- Small customization is possible. If siliXcon decides, that the requested feature is useful for all customers, it can be added to the public application.
- No opening fee
- New versions are automatically released by siliXcon
Modification of the existing application
Some modifications can be put inside the existing public application, but are not put in the generic application modification. Reasons for this are basicly the following:
- The new functionality is in conflict with the part of existing functionality
- The new functionality does not fit into the memory of the device
To address these two issues, a new modification is created. In the new modification, is defined a new set of features.
- Modification can be public or private (with custom Basename)
- The opening fee for new modification is 2h of development
- New versions are released on customer request
- Application versioning follows the public application versioning
Custom application
With custom application are almost no limitations in the development. The application can be tailored to the customer's needs and can include custom features, branding, and more.
- Even custom application can have multiple modifications. For example, every customer product can have its own modification.
- The opening fee for new application is 2 days of development
- New versions are released on customer request
- Application versioning is independent of the public application versioning
- Customer gets private documentation for the application under login
Custom application development
If there is request for custom application development, the following steps are taken:
- Preparation
The customer provide this information to siliXcon:
- Current configuration of the device (from the public application)
- List of features that are used from the public application
- List of features that need to be added
- Complete electric scheme of the device
- Pinout of the siliXcon device (with custom application, siliXcon hardcode the pinout in the firmware)
- List of used CAN messages by other devices
- Creation of the custom application
In this step, siliXcon will create a custom application from the public application. During this process, unused features will be removed to save memory space for new features.
After this step, the customer will have custom application, without any new features. This step is crucial for the next steps. Customer must confirm, that have all the features of the public application.
This step usually takes 2MD.
- Adding new features
After all the preparation, siliXcon will start adding new features to the custom application.
- Testing and releasing stable
During the development, the new features are added to the nightly
branch. Once all features are implemented, the testing
branch is created for long time testing. At this point is also written a changelog and a new version is released.
If the testing
version is confirmed as stable, the stable
branch is created from the testing
branch.