Cloudbus offers a wide array of other technologies to enrich and accelerate product development.
An embedded gzip decompressor on low-power, low-cost embedded hardware opens up surprising possibilities.
Compression technology is the underlying magic upon which virtually every rich digital experience we have is based. Without it, we would not have the proliferation of digital video, audio, apps and web content, much of which is compressed with gzip or its underlying algorithm, DEFLATE.
Cloudbus designed a gzip/DEFLATE decoder which requires only 750 bytes of RAM and about 1.5KB of code, a miniscule footprint compared to the reference zlib library. This advancement makes possible practical compressed firmware updates, large geo datasets, animations, on-board documentation and other exciting applications. Additionally, the decoder can be used to implement extremely efficient firmware delta-updates - which store only the changes from one version to another - with no additional software complexity by exploiting tricks in the decompressor state.
Sound effects can really give a product soul, particularly if it has no screen.
Cloudbus has experience with analog- and digital-path (I2S or SPI) audio in embedded devices, as well as with G.711 compression, antialiasing, band pass and other DSP required to get the best sound effects from low-power and low-complexity embedded systems.
One of the challenges with audio is that it's a "hard real-time" feature, as variations in the playback timebase, gaps or duplicated sections of the audio are very easily noticed as "glitches" by the listener. The conventional way to implement digital audio on microcontrollers is with DMA or interrupts, though Cloudbus has employed clever solutions to generate I2S from chips without hardware support using just an SPI FIFO. If you need audio in your product, we can find a way to do it.
Filesystems are the best way to store all manner of information on a device, including that which is downloaded, uploaded or retained.
Most products need a simple filesystem or at least a key-value store which is retained in Flash or EEPROM memory. Cloudbus has turn-key solutions for both which can be customized for your application. If you need to store firmware updates, perhaps using differential-patching, a filesystem will do that. We can also implement a key-value parameter store that can be used to run A/B tests (or multivariant tests) on hardware in the field. A filesystem can also be used to compress and accumulate telemetry for periodic Wi-Fi uploads, allowing data to be collected continuously even if WiFi is only active occasionally.
Copyright © 2015 Cloudbus / Outbreak, Inc.