ClickID is hardware/software solution which lets Linux-based systems identify Click boards™ using an ID chip via the 1-Wire interface. Visit the GitHub repo to learn about ClickID details.
Make sure your Linux OS has the mikroBUS™ kernel and Click boards™ drivers installed. Upload a manifest file (Click boards™ configuration) or use an existing manifest if one isn't provided. Finally, use Click boards™ by checking how the drivers expose Click boards™ data.
The primary goal of ClickID is to simplify and accelerate the configuration of embedded systems. By introducing a hot-plug system similar to that used in PCs, your embedded Linux system can automatically recognize peripherals, streamlining configuration for each device.
ClickID is an ID chip device that enables hot-plugging of Click boards™ in the embedded Linux OS. It streamlines the process by automatically delivering the manifest file (configuration settings of Click boards™) to the OS, loading the appropriate drivers, and facilitating communication through various interfaces.
For Linux developers, ClickID offers two operational modes: REGULAR MODE - the board operates as a standard Click Board™ without ID functionality; ID MODE - the board introduces itself to the Linux kernel, which then automatically loads the necessary drivers.
ClickID stores essential information in the EEPROM memory of each Click board™. The memory is divided into permanent data (locked at production) and configurable data (which stores the ClickID manifest). This manifest contains all the necessary information for the Linux driver, enabling the automatic configuration of the board.
To create a manifest file (`CLICK_NAME.mnfs`), an embedded Linux developer defines the required descriptors (as shown in the code example). Afterward, the file needs to be converted to a binary format using a Python tool, and then uploaded to the Click board's EEPROM.
To upload a manifest file into a Click board™, use the `dd` command to write the binary manifest file to the EEPROM of the Click board™ via the 1-Wire interface:
dd if=/lib/firmware/mikrobus/your_manifest.mnfb of=/sys/bus/w1/devices/w1_bus_master1-<unique ID>/mikrobus_manifest
To read a manifest file from a Click board™, use the `cat` command or similar to access the contents of the EEPROM where the manifest is stored:
cat/sys/bus/w1/devices/w1_bus_master1-<uniqueID>/mikrobus_manifest
“At BeagleBoard.org ®, we are obsessed with improving developer experiences, especially for new users. We are thrilled to see MIKROE introduce ClickID and to adopt mikroBUS manifests we've introduced for future versions of Linux. This is a big step enabling users of boards like our BeagleBoard.org ® BeaglePlay ® to simply use the well tested code that is already there without needing to search and integrate, just connect and play!”
Christine Long, CEO BeagleBoard.org Foundation