Skip to main content

Introduction

Welcome to the Developer Guide for the SLN-VIZN3D-IOT!

The purpose of this guide is to help developers gain a better understanding of the software design and architecture of the Smart Lock application in order to more easily and efficiently implement applications using the SLN-VIZN3D-IOT.

This guide will cover topics including the Bootloader, the Framework + HAL Architecture Design, as well as the project-specific features of the Smart Lock application which may be relevant to developing Machine Vision applications for the SLN-VIZN3D-IOT.

Smart Lock Application Layout

The Smart Lock Application for the SLN-VIZN3D-IOT provides a fully integrated HW + SW solution which allows for the rapid prototyping and development of Machine Vision-based applications. The Smart Lock application comes with full source code as well as hardware reference designs to help get developers up and running as quickly as possible.

The design of the Smart Lock app is broken into two distinct layers: an underlying "Framework + HAL" layer, and a top-level "Application" layer.

Smart Lock Software Diagram

The bottom Framework + HAL layer acts as a message routing system which allows the peripherals connected to the board to interact with one another.

The Framework was designed with code portability in mind, with the idea that low-level driver bindings would connect to higher-level, platform-agnostic "Hardware Abstraction Layer drivers" which do not depend on the underlying pin assignments, etc. which are specific to the board. This design should allow for the easy migration from one platform to another, helping alleviate platform lock-in and make code easier to read, write, modify, and maintain.

The top "Application" layer contains all application-specific code including the various sounds, icons, UI elements, etc. In addition, the "Application" layer will register all the devices relevant to the application, as well as their Event Handlers which react to events triggered by other devices.

Separating the "Application" and "Framework + HAL" layers from each other encourages code reuse between different projects because the underlying Framework code can be reused in almost its entirety, while primarily only the Application layer code will need modifying.

important

Be sure to check out the Getting Started Guide for an overview of the out-of-box features available in the SLN-VIZN3D-IOT Smart Lock application.