Skip to content

Latest commit

 

History

History
94 lines (60 loc) · 10.7 KB

kinomajs.md

File metadata and controls

94 lines (60 loc) · 10.7 KB

#Navigating the KinomaJS Application Framework Source Code and Documentation

Note: In this document, 'KinomaJS' refers to the JavaScript application framework for embedded devices created by Kinoma, not the entire Kinoma software stack.

The source code for the KinomaJS application framework is contained in kinomajs/kinoma/kpr. This document is an overview of what's there, complete with links to source code and documentation.


##Extensions

The extensions folder contains the source code for KinomaJS features related to network connectivity, including Wi-Fi configuration and a variety of network protocols.

###Network Protocols

KinomaJS has its own implementations of the following network protocols. Links in the Protocol column lead to the source code. The samples are part of our collection of KinomaJS sample apps.

Protocol Documentation Samples
CoAP Creating a CoAP Client and Server in KinomaJS applications: Provides an overview of CoAP and explains how to use it in KinomaJS applications coap-client
coap-server
HTTP Embedding an HTTP Server in your Application: Describes how to start, stop, and customize your app's HTTP server basic-web-service-request
MQTT
SSDP Net Scanner: describes SSDP and how it's used on Kinoma Create ssdp
WebSockets websocket-client
websocket-server
Zeroconf Zeroconf troubleshooting guide: For developers who encounter problems when using Pins Sharing or other Zeroconf features zeroconf

##Libraries

The libraries folder contains several JavaScript libraries. Some are built-in to the platform, others must be added to the build path. The table below provides a description of each and links to the corresponding source code, documentation, and (where applicable) to samples that showcase them from our collection of KinomaJS sample apps.

Library Description Documentation Samples
Controls Templates for basic on-screen buttons, radio buttons, checkboxes, sliders, switches, and input fields Adding User Interface Controls : Describes how to use a selection of sample modules and assets to create onscreen input controls. [basic-checkbox] (https://github.com/Kinoma/KPR-examples/tree/master/basic-checkbox)
controls-buttons
Creations Templates for frequently used UI elements, such as dialogs, headers, and graphs - level-meter

This module is mainly used by the built-in apps on the home screen of Kinoma Create, rather than those in the samples repository
HID Allows you to make Linux platforms (e.g. Kinoma Create) act as an HID keyboard, a mouse, and/or gamepad Prototyping Peripherals with Kinoma Create: Explains how to build peripherals using your Kinoma Create Version 2 with the KinomaJS HID library hid-gamepad
hid-keyboard
hid-mouse
LowPAN BLLs for the KinomaJS BLE implementation; accessed through the Pins module. KinomaJS BLE V2 API : Describes the class-based BLE V2 API, which supports both BLE central and peripheral roles. ble-ancs
ble-clapper
ble-keyboard
+many more

Walkthrough tutorials available in our our hardware tutorials
MobileFramework A collection of templates for a variety of features useful for developing mobile apps, including scrollers, screen transitions, and headers/footers - basic-scroller
basic-dialog
menu-button
+many more
MultiTouchLib Simplifies programming controls for devices with touch screens; includes multi-touch handling, swiping gestures, and more - multitouch-picture
multitouch-slide-browser
Pins The API to communicate with the BLLs of sensors/external hardware attached to the pin connectors on Kinoma Create See the Programming with Hardware links in the Kinoma Create section of the root README of this repository digital-in-hello-world
analog-starter
pwm-tricolor-led
+many more

Walkthrough tutorials for a collection of common sensors are available in our our hardware tutorials
Transitions A collection of basic Transitions that can be used to switch between screens of an app - transitions
serial-7segment-display

##Projects

The projects folder contains tools built using the KinomaJS platform, including the Kinoma Create and Kinoma Element launchers.

###Kinoma Create

The Kinoma Create subfolder includes:

  • The source code of the built-in apps seen on the home screen of Kinoma Create.
  • The source code of the Pins simulators used when apps using built-in BLLs are run on the Kinoma Create simulator.
  • Source code for the shells that host the Kinoma Create software in simulation and on the device.

###Kinoma Element

The Kinoma Element subfolder includes:

  • The source code of the Pins simulators used when apps using built-in BLLs are run on the Kinoma Element simulator.
  • The source code for shell that hosts the Kinoma Element simulator.

##Sources

The sources folder contains the C code that implements the KinomaJS application framework; in other words, it contains the native implementation of the JavaScript objects that KinomaJS applications and shells interact with.


##Notes

The tech-notes folder contains additional documentation on miscellaneous topics that may be of interest to developers:

Note: These resources are also available in the Tech Notes section of the Kinoma website