BUG Community

Welcome! Log In

kgilmer's Blog

node.js for BUG 2.0

It was interesting to see the new Beagleboard "bone" project announcement today.  Particularly because of some software that ships with it; a browser-based development environment targeting the JavaScript language.  Given the popularity of the JavaScript language and a completely hosted environment, I can see how this is a great way to remove a lot of the annoying and error-prone steps to getting started with embedded development.  As a first step to see how this vision...
read more

Java 7 (OpenJDK/IcedTea) for the BUG 2.0

For anyone interested in Java 7, I have built OpenJDK 7 (via IcedTea) for BUG 2.0 (Angstrom, armv7, Zero VM).  The binaries are available here.  The binaries are not provided as Angstrom opkgs, so the installation process is manual. This is because it was built natively on a BUG, rather than using the OpenEmbedded cross compiling build system.  You'll also need to install libcups2 via opkg if you want to replace the Java 6 JRE to run BUG...
read more

New software for an old BUG

While the BUG 2.0 hardware platform is the shiney new toy everyone wants/NEEEDS, what can we say about our trusty BUG 1.x devices sitting around?  I think they are in need of some love, and as a community effort, have released some alpha-level builds of BUG 2.0 software for BUG 1.x hardware.  The project is called leafcutter, and the idea is that your BUG 1.3 device should be able to run all the BUGapps that...
read more

Native SDK for BUG 1.x Devices

Building native applications for BUG requires a toolchain configured for the specific hardware architecture, as well as all the development libraries your application may require.  Poky, the build system used for the BUG 1.x line of devices, provides these tools and libraries as part of the meta-toolchain package.  For convienence, this toolchain is provided as a download for x86-64 machines so that one doesn't have to build all of it from scratch.  Here are quick...
read more

Android on BUG: an Update

When we first started working on getting Android on BUG with Tarent last year, my right brain was happy and excited.  I love learning new things.  And after all, Android is a fun, creative new platform for application development.  But my left brain had some doubts.  How will BMI and other unique hardware BUG features work?  What about our existing APIs and applications?  How can we maintain two seperate software platforms?But recently my left brain has...
read more

BUGapp Lifecycle Visualization

I recently got a request for a diagram of the BUGapp lifecycle.  "What a great opportunity to hone my n00bean InkScape skills!", I thought.  So, here is my take on the creation and descruction from the perspective of a BUGapp:
read more

Use a database on BUG

Here's a quick howto on using Apache Derby on the BUG 2.0 to get hot RDBMS action.Step 1, download the Apache Derby binary package from http://db.apache.org/derby/derby_downloads.html.  I chose the 'lib' distribution.  Unsure if Derby supports running from an OSGi context, I used the handy bnd utility to check. $ bnd print lib/derby.jar [MANIFEST derby.jar] Ant-Version Apache Ant 1.7.1 Bundle-Activator org.apache.derby.osgi.EmbeddedActivator Bundle-ManifestVersion 2 Bundle-Name Apache Derby 10.7 Bundle-SymbolicName derby Bundle-Vendor Apache Software Foundation Bundle-Version 10.7.1000001.1040133 Class-Path derbyLocale_cs.jar...
read more

OSGi service binding II: muddy waters

In the first post regarding binding to OSGI services on BUG, we covered the simplest (and most common) case: binding to a set of services and running an application when all services are available.  Now we will look at a less common but nonetheless important scenario: binding to multiple instances of the same service.  The code shown in this tutorial can also be modified to apply to many cases where programmatic control of service binding...
read more

SDK Tip: Saving your ConfigAdmin state between sessions.

In the 2.1 SDK we have switched to use the Felix implementation of the ConfigurationAdmin service specification.  By default, each time BUG simulator launches, a clean configuration is created.  This can be a pain when you rely on specific settings.  By changing the system property fexlix.cm.dir in the BUG Simulator launch configuration, you can prevent the configuration from being cleared.  See the screenshot for more details.
read more

OSGi service binding without throwing in the kitchen sink.

 In the BUG 2.0 software release we've added an API to allow for easy service binding with minimal code.  The API is in com.buglabs.application.ServiceTrackerHelper and the primary actor is the ManagedRunnable.  To illustrate the usage of the API consider this example:We will create two bundles, one as an API bundle and another as the implementation bundle.  For brevity, the API bundle will also create some services so that we can bind them in our implementation bundle.  I...
read more

Powered by Community Engine