Category: Software


First up a disclaimer.

This won’t be updated much or a regular series as not much is known about the graphics functions in UIFlow. However, the following steps is how I get images on to the M5Stack using UIFlow.

OK here is what worked for me.

Download and install G.I.M.P G.I.M.P.org

create a file 80x160px (for M5Stick) ,
Add graphics,
Goto Image>mode>Indexed,
Make sure ONLY “use web optimised palette” and “Remove unused and duplicate colours from palette”.
Goto File>Export As,
save the file as .jpg (filename must only have 7 letters),
Set “Quality” to 90% you may have to reduce this depending on image.
Click on ALL the boxes to remove the X
Click on advanced,
Unselect everything by clicking on the X to remove them,
Set smoothing to 0,
Set Subsampling to 4.2.0
Set DCT to integra and hit save.
Open UIFlow,
Click on the manager icon to upload the image to the M5Stick C,
Drag an image element to the screen and click on it to set the image to the one you uploaded, and then click the > “Play” icon to check the image.

If this helps you, please let me know.

I have been looking around for a new headunit for my car and not been able to find one that does what I need. Having Raspberry Pi’s and a Prusa i3 printer sitting around, I thought it should try building one.

For this I am using  Raspberry pi2 (yeh, old hat now) and a 7″ Waveshare touchscreen with 1024×600 resolution.

After 2 days of updates I have just found out that my distro is out of date!

Oh well time to upgrade.

Well, after 4 failed attempts to clone the old OSX HDD to the new 1TB seagate SSHD I finally got it to work using OSX‘s built in Disk Utility.

In the end user theratter gave me the answer

Clone El Capitan to a New Disk

  1. Restart the computer. Immediately after the chime hold down the Command–R keys until the Apple logo and progress bar appear.

  2. When the Utility Menu appears select Disk Utility and click on the Continue button.

  3. When Disk Utility loads select the disk (usually, the out-dented entry) from the side list.

  4. Click on the Partition tab in Disk Utility‘s main window. A panel will drop down.

  5. Set the partition scheme to GUID.

  6. Set the Format type to Mac OS Extended (Journaled.)

  7. Click on the Apply button, then click on the Done button when it activates.

  8. Select the new Seagate drive then select Restore from the Disk Utility’s Edit menu.

  9. From the dropdown menu select the volume you want to clone.

  10. Click on the Apply button to start the process.

 

After some struggle to remove the old drive the new drive works and after resetting the PRAM, the MackBooPro now boots super fast.

Thank you forum member theratter

So for 3 nights I have attempted to clone my old 512 GB hd to a new 1TB Seagate SSHD hybrid drive and for 3 night I have failed. I keep finding that it randomly disconnects with the “Drive incorrectly removed” message from OSX.

I have deactivated all the autolog out/shutdown setting but still getting this issue and its driving me crazy.

So yet I have ground to a holt on the design side of things as I have found yet another broken function on the OS X version of 123d Design.

I need to mirror an object but if I select the object then Mirror, it will desolate the object and refuse to select any part of it 😦

Ingress Madness

A couple of years ago I started playing the game by Niantic labs called Ingress. I didn’t find much fun in it and having 2 phone that crashed trying to play it turned me away.

I now have IOS and started again and in 4 days went from 11K points to 36K points reaching L3. I have now meet my first player (part of the enemy “Enlightened” but were now friends and sharing tips.

Now I’m L3 I can now attack and take portals!

I have been using G.I.M.P SINCE 1999 (version 0.99b) but have only had a Macbook since late 2012.

A few months back I maxed out the ram to 16Gig but noticed that G.I.M.P was lagging when calling up commands and really struggling while working on a book cover (sys report showed only half the ram was in use!) its taken me ages but last week I found the issue.

When I upped the ram, I forgot to change a setting in G.I.M.P, this setting is “Tile Size”. Once I changed this to use 8 gig, G.I.M.P started working perfectly. If anyone is finding this issue, I hope this post helps you out!

After bait of random google I discovered that my card reader is identified as

Broadcom Corporation|NetXtreme BCM57765 Memory Card Reader (vendor:14e4 device:16bc subv:14e4 subd:0000)

If I’m correct and judging by (Lack of) details in the system information panel, the reason that it doesn’t work anymore is because Maverics doesn’t have a working driver!

If I’m correct then I don’t think the osx 11 update will contain a driver for it and ill be left feeling screwed.

Just a clue that may be of interest to other Macbook Pro users with failed card readers.

XMOS startkit Step 1

So after spending all day yelling at my XMOS startkit I finally got a basic hello world flashing led code to work. This code flash’s one of the two leds closest to the ram.

#include <xs1.h>
#include <timer.h>

port p = XS1_PORT_1D;
int main() {
 while (1) {
     p <: 0;
delay_milliseconds(200);
p <: 1;
delay_milliseconds(200);
}
}

So how does all this work?

First up we need to reference the required header files. The most important one is xs1.h contains the core functions for working with XMOS Chips. We add this by adding the line

#include <xs1.h>

This contains the port definitions so that our programs will know what port p = XS1_PORT_1D means.

The second one required for the program to work is

#include <timer.h>

This allows us to use the timing function of the chip (I may be mistaken here in that it could actually be a core “C” header!) and allows the code to understand what delay_milliseconds(200); means.

After we have those two lines we need to define which pin our LED is connected to. According to the Startkits hardware manual the two of the leds are labelled D1 & D2 and are accessed through ports 1A and 1D (see page 10/17) and to access them we need to add

port p = XS1_PORT_1D

By changing port p = XS1_PORT_1D; to port p = XS1_PORT_1A; you can change between one of the two leds that are located next to the 256KB SPI flash chip. According to the schematic diagram in the hand book, these leds are connected between the chips pin and ground making them active low. To turn them on the chip needs to supply power to the led and this is done with the following.

p <: 1;

If you noticed the code, I put this line near the end, this is because on each cycle the following

 while (1) {
     p <: 0;

Checks to see if the if the variable “p” high (1), if it is, the pin is set low (0) by the following line. then after a delay, if the variable “p” is high the it will be set low and XS1_PORT_1D will be switched off.

If I understand myself, then all this will make sense and you (the reader) should be able to follow this.

Well I have had enough programming for today so time to pack up.

Raspberrypi+lcd proc working.

So after three hours of shouting and swearing at my Raspberry Pi B I finally had LCDproc working on it.

The problem in the end came down to ttyS0 not existing. Because the MX232 runs via USB, no matter what I tried to change it to (RPI uses ttyUSB0) it wouldn’t take. In the end I remembered so arcane command and typed

sudo ln ttyUSB0 ttyS0 to create the node and link it to ttyUSB0.

Once that was done the lcd jumped to life! if this hold after a restart I don’t know but at least it’s working now!