May 02

Internet of Things DevKit build for Galileo

Intel have released instructions on how to build the DevKit Linux image for Galileo, which includes all the required developer tools and access to Intel’s package repository.

Check out the build instructions here (PDF).

I’ve built the image and tested it and will make an image of the SD Card available on this blog later.

Apr 22

Putting nano on Galileo

In this post I look at how to put my current favoured linux text editor, nano, onto Galileo.

My galileo is running the SD Card based linux image available from Intel’s IoT ADT page. This image includes all the dev tools required to build projects from source. You can use it to develop your own software, or you can use it to build software from source, as we are about to do with Nano. Continue reading

Nov 24

Using Creator v3.0 to target PSoC5 and PSoC5 LP

Recently Cypress updated their PSoC Creator tool suite to version 3.0.
V3.0 Brought with it some great new features, such as:

  • Auto Complete
  • Goto Definition
  • Code Explorer
  • Inline Diagnostics
  • Disabled code highlighting
  • Automatic indenting
  • And loads of other productivity and compiler improvements.

However as I have mentioned in this post before, the tool dropped support for the PSoC 5 Chip, which has been superseded by the fantastic new PSoC5LP Device. There are drop in replacements for every PSoC5 chip from the new 5LP Range. Cypress encourage developers to use the new 5LP devices in their new projects and when updating existing projects. The 5LP are pin and source-code compatible with the equivalent 5 Devices, but they are not binary code compatible. You need to rebuild your code with the new device selected in PSoC Creator.

But what do you do if you have an existing product, using PSoC5 devices that is out there in the field, all new boards that you manufacture should have 5LP on them, and you have to maintain and update the code on these boards? You cannot just build a project in the new tools and target the two devices – because the latest tools no longer support PSoC5, just the new PSoC5LP.

Continue reading

Nov 20

Setting up the root user in Mac OS X

For information on how to enable the root user in Mac OS X Mavericks, see this tech note from Apple:

http://support.apple.com/kb/PH14281

And for doing the same with OS X Mountain Lion, see this tech note:

http://support.apple.com/kb/PH11331

 

Nov 20

Backing up my BugZilla database

Now that I have bugzilla set up, my clients are starting to use it. It’s a very useful tool for logging bugs, feature requests and test results. The clients get kept up to date on what I’m doing, and I don’t have to remember every thing as it is all kept in the database.

That means that the database has to be protected from loss or damage by taking regular backups.

Continue reading

Nov 19

Installing BugZilla on OS X Mavericks – Updated

Finally I have gotten round to finishing the install of BugZilla on OS X Mavericks (OS X 10.9)
and I’m pleased to say it is working well.

There were several hurdles along the way, but the main one which kept bugzilla from running was that the MySql library, required by perl to access MySql was installed in a different place than the _www user group expected to find it.

After installing Perl, MySql and BugZilla the main bugzilla install script kept failing with errors trying to connect to the MySql database.

Continue reading

Nov 07

Working with UTF8 Encoded strings in iOS

I designed a digital audio dock for a major client. The dock accepts both 30-Pin apple devices and Lightning-connector apple devices, in other words almost all iPods, iPhones and iPads. The dock has a network interface so that it can connect to, and be controlled by, other devices, such as another iOS device. The device can get track metadata, playlists and track lists from the dock.

During testing we noticed that on occasion the track name, artist name or album name would not display correctly. For example, the soundtrack album from the film “Les Misérables” would show as “Les Mis√©tables”.

This is because the device providing the meta data is using the UTF-8 encoding mechanism to encode special characters, i.e. those outside of the usual 8-bit ascii character set.

In our code we had were receiving the 8-bit string and encoding it to an NSString like this:

_strDockAlbum = [NSString stringWithFormat:@"%s",pContents];

where pContents was a pointer to the 8-bit data buffer.

To resolve the issue was simple, thanks to the stringWithUTF8String method of the NSString class.
The code now looks like this:

_strDockAlbum = [NSString stringWithUTF8String:pContents];

Simples!

Nov 06

Microchip’s MPLAB X Gets an update. V1.95 Now available.

Microchip have released an update to their IDE, MPLAB X.
MPLAB X IDE v1.95 is available now for download from here

This seems to be a minor point release with the following main updates since v1.90

  • ICSP cable support for UNI/O
  • SQTP in Aux Memory support
  • Harmony quick start and Forum links
  • Enum label support within watch window
  • Detection of Compiler beta device support
  • Support for selection from multiple tools under MDB
  • Support for multiple instances of IPE or IDE
  • Improved Tool discovery on Windows PC’s (fixed a windows issue where tools were not always detected)
  • Break up of large arrays into 100 sub elements to improve performance in debugging and the watch window.
  • Bug Fixes

On windows MPLAB X now uses the latest Java JRE (v1.7) but on Mac OS X we are still stuck at JRE 1.6 which is a bit of an issue, because OS X will try to push the latest Jave Update to users and many of them will accept it, pushing the system up to JRE 1.7, which breaks various things in MPLAB X. Of particular concern is that one of Microchip’s flagship programmer/debuggers the ICD 3 doesn’t work when JRE 1.7 is present. If a user updates their Mac to JRE 1.7, then it’s not an easy job to revert back to 1.6.

I believe the underlying issue is that MPLAB X is built on NetBeans, and Microchip is using an older fork of NetBeans with some out of date JRE dependencies.

Let’s hope we can convince Microchip to move to being JRE 1.7 compatible pretty soon.

Nov 04

Cypress drops PSoC5 Support from latest tools.

Recently Cypress Semiconductor released the long awaited version 3.0 of it’s PSoC Creator development tool suite.
This is an update I’ve been waiting for, it finally brings to Creator some features which other, older, IDEs have had for many years, including: Auto-complete; go to definition; a code explorer window; inline diagnostics; disabled code identification and automatic indenting. These are all things that every other IDE I use has had for 6+ Years, including Visual Studio, NetBeans and Eclipse.

So I was truly pleased when this update arrived, as it promised to be a great aide to productivity.

As it happens, however, it turns out to be one of the biggest disappointments from Cypress yet.

Continue reading