Qt Enterprise Embedded

Introduction


  • Andy Nichols
  • Digia
  • Qt Developer
  • freenode irc: nezticle
  • twitter: @nezticle

Overview


  • What is Qt Enterprise Embedded
  • Operating System Choices
  • Demonstration
  • Example Usecase

What is Qt Enterprise Embedded?

Lightweight UI Stack


Ready-made images


Full QtCreator Integration



Emulator


Our Goal:
Embedded Development from day 1

Embedded Android or

 Embedded Linux?

Embedded Android Benefits


  • Optimised Builds
  • Optimised and well tested drivers
  • Use Android without fighting the existing UI
  • Fully native applications, no Dalvik or JNI

Embedded Android Issues


  • Bionic libc
  • Truncated set of Supported Modules
  • Must use NDK to build 3rd party libraries

Embedded Android Module Support

  • Qt Core, Qt Gui, Qt Network, Qt Widgets, Qt XML
  • Qt QML and Qt Quick
  • Qt Quick Controls
  • Qt Graphical Effects
  • Qt Serial Port
  • Qt Sensors
  • Qt Multimedia

Embedded Android Reference Hardware

  • iMX6 (Freescale)
  • Beagleboard xM (TI)
  • Nexus 7 (Tegra)



Embedded Linux


  • All Qt 5.1 modules are supported (including QtWebkit)
  • Standard Embedded Linux distro (Yocto, Poky)
  • Many 3rd party API's available in Linux sysroot

Embedded Linux Hardware


  • Beagleboard xM
  • iMX6
  • Raspberry Pi
  • Beaglebone
  • Sitara AM335x



Demonstration Time

Example Use-case: SuperfluousSynth

About SuperfluousSynth


  • Hardware and Software combination
  • A Keyboard that is also a learning aid
  • Synthesis of instrument sounds
  • Visual display of notes while playing
  • Visual display of current note, interval or chord

3rd Party Dependencies


  • fluidsynth - SoundFont 2 based software synthesizer
  • Fluid (R3) General MIDI SoundFont (GM)
  • VexFlow - Javascript Canvas2D API for drawing musical notation

Hardware Considerations


  • USB MIDI keyboard controller
  • LCD Screen
  • Capacitive touch screen
  • Audio Output
  • iMX6 with 7" touch screen

Android or Linux


  • glib2 dependency of fluidsynth
  • MIDI input driver
  • Audio Output (ALSA vs OpenSL)
  • Embedded Linux

Implementation


  • SynthEngine
  • Musical Notation
  • Chord Recognition
  • Instrument Selection

Productisation


  • Low latency tuning
  • Professional design
  • Virtual Keyboard
  • Metronome

Questions?

Contact Info


  • email: andy.nichols@digia.com
  • freenode irc: nezticle
  • example source: github.com/nezticle
Made with Slides.com