The Blog

Quick links:


10,  01

31,  06
14,  08


Crypto challenge. 2015-09-03 13:55:43

Code given : licence received

11410001133 : 14 7e e1 3a
1614931141 : e2 cb 69 52
-536454147 : a4 4d 13 bb
-265931336 : e3 93 27 c8
1221411267 : 1d 5d e3 3e

In each case, the licence is 16 bytes long. The first 12 bytes always appear to be the same.
The last 4 bytes are as in the table above.

The first 12 bytes are as follows;

01 00 00 00 94 6e bc cd 87 39 21 5e

When running the software for the first time, the code is given. This then has to be 'converted' into a licence code. The

licence is in the form of a file 16 bytes long. This is then read by the software.

So it is my assumption that the software is capable of checking this licence to make sure it matches the code.

The code appears to be installation specific, as several codes have now been required.

This is no longer a current product, but has to be maintained by us. If for whatever reason the codes are no longer available,

then the new installations will not run.

What we need is an in house conversion algorithm to make sure we can support ourselves in the future.

SWPC sorts itself out. 2014-12-31 14:04:04

After much hasty recoding of the @solarwxrobot, I'm happy to say I see that all of the text files are starting to re-appear in ftp://ftp.swpc.noaa.gov/pub/
You'll need to search around for what you want. However, it's worth the hunt.
Seek and ye shall find!!

Happy New Year

- Steve

New Server 2014-06-27 20:00:26

Website has moved.. new box, not physically ;)

Arduino and SPI continued 2014-02-07 20:49:13

Part under test: SensorTechnics HCEM020GUH9P5

Copied below is a very simple chunk of code. I'm reaing pressure via SPI from a digital pressure transducer. It works, however, it shouldn't.
When I was reading the datasheet for the transducer under test, it said to run the SPI no faster than 640kHz (Slow in my opinion). In order to run below that, I need to set the CLOCK_DIV to 8. If I do that, it starts sending gibberish.
This is me blowing into the pressure port.
0.5mB FF 6 2C 812.00 -0.0
6.8mB FF 2D 54 5844.00 6.5
19.1mB FF 7A 87 15751.00 19.2
20.0mB FF 7F FF 16383.00 20.0
19.5mB FF 7C 9B 16027.00 19.5
8.7mB FF 39 3D 7357.00 8.4
7.3mB FF 30 CB 6347.00 7.1
8.7mB FF 39 C4 7364.00 8.4
8.4mB FF 37 94 7060.00 8.0
9.0mB FF 3B 97 7575.00 8.7
10.1mB FF 42 D 8461.00 9.8
9.8mB FF 40 1D 8221.00 9.5
12.2mB FF 4F 8C 10124.00 12.0
12.7mB FF 52 26 10534.00 12.5
15.9mB FF 66 52 13138.00 15.8
18.5mB FF 76 BD 15293.00 18.6
20.0mB FF 7F FF 16383.00 20.0
20.0mB FF 7F FF 16383.00 20.0

Arduino and SPI 2014-02-07 20:37:40


int chipSelectPin = 10; // Native Uno SS pin.
// MOSI 11 : MISO 12 : SCK 13

float pressureA,pressureS; //PressureAnalogue, pressureSPI

int pressure1,pressure2,pressure3; // three bytes for the SPI read

void setup() {

Serial.begin(115200); //Serial monitor
pinMode(chipSelectPin, OUTPUT); //
SPI.begin(); //
SPI.setDataMode(SPI_MODE0); //
SPI.setClockDivider(1); // Tried various. Faster is better
// Datasheet claims max 640kHz (DIV = min 8 !)

void loop() {

pressureA = analogRead(0); // check against analogue pin
pressureA = (pressureA-23)/50; // make into something that looks like a pressure
Serial.print("mB "); // and send to serial monitor

digitalWrite(chipSelectPin, LOW); //SPI

pressure1 = SPI.transfer(0x00);
pressure2 = SPI.transfer(0x00); // get the three bytes from the SPI device
pressure3 = SPI.transfer(0x00);

digitalWrite(chipSelectPin, HIGH); // !SPI

Serial.print(" ");
Serial.print(" ");
Serial.print(" "); //sends the three byte to serial in hex format.

pressureS = (pressure2 << 7) | pressure3; // make a number from bytes 2 and 3
Serial.print(" ");
Serial.print(pressureS); // display that number (raw digital pressure)
Serial.print(" ");
pressureS = (pressureS-820)/778; // make into something like a pressure.
Serial.println(pressureS,1); // and send to serial monitor.
delay(500); // wait 1/2 sec before looping.


Underwhelmed 2014-01-10 07:40:09

Well, the sun flared at X1.2 on Tuesday night, and everyone who's interested had high hopes for visible aurora or at least something measurable on the magnetometer. So far, it's been a rather feeble affair. I'm too far south where I am to have seen anything at all, I'm in County Cork, in very Southern Ireland.

El Cheapo magnetometer. 2014-01-01 16:44:10

An update.
Much to my surprise, the 'Tenner from China' magnetometer has managed to record 'something'. As yet, I'm not really sure what it is. These things are not all that accurate or stable, but I figured I'd be able to smooth a lot of the rubbish out in software.
Here's a quick rundown.
Read x, y and z. Smooth and average the data and send them down the USB to the host PC.
Here, a little program reads the serial port for an incoming string, parses it, and converts it into a 'INSERT' for MySQL.
It's now been running for about 36+ hours. The graphing part of the site, running in PHP extracts the last 24 hours from the db, adds date and time data, and puts it up on the page.

Ciseco Xino RF 2013-12-31 00:57:11

I've had a chance to play with these now that Christmas is over, and apart from a little trouble I had with my understanding of how the baud rates affect their operation, everything is looking good. Kudos to Ciseco for answering my queries during their shut-down.
I have one in the shack, reporting temperature and pressure from a little module I bought on Ebay, which is transmitting to another one in the lounge connected to a 16x2 backlit LCD display. Every 5 seconds it receives temperature (with min and max), and then 5 seconds later, the pressure, (also with min and max). After another 5 seconds the cycle starts again.

In other news, I've also been playing with a little magnetometer/accelerometer. This is connected to the main pc in the house, where the X, Y and Z values are passed to a little .exe (written in compiled FreeBasic) that stuffs them into a database table, and that's right, I graph them here. I'll put the page into the menu so you can go and take a look.

Arduino, weather and SDR 2013-12-06 16:42:28

Since my little trip to Norway, I really haven't bothered looking at the Arduino.
I have tried to decode a few packets from the FunCube, but really, it's not worth the effort. I managed one or two packets on the last couple of passes. When I see others in the UK in the thousands, it makes my effort look a bit pointless.
So, what else? Well, the weather part of this site has had yet another little tweak, nothing obvious, but I wanted to add the strongest measured wind gust for today. The SQL to do this was harder than I imagined. If some kind person wants to suggest how to SELECT MAX(field) FROM table WHERE date_time = TODAY without using a nested SELECT, please feel free to let me know on the back of a ten pound note.
So, back to Arduino, I have ordered a pair of Ciseco arduino/transceivers. I'll blog something about these when I've had a chance to play with them.

Arduino update. 2013-11-14 19:48:45

After a couple of weeks of 'messing around' with the Arduino, I have had all of the individual parts working, with the exception of the barometric pressure module. Since this isn't needed in the first project, it's been put to one side. The spec for the datalogger took a turn unexpectedly. One of the reasons for the datalogging being taken outside of the machine control system, is the shortage of available program space. The direct consequence of this is that the datalogger now requires the ability to set it in isolation. (Not via a string sent down the serial cable.)
It was at this point that I decided to add a simple display and a few push buttons. I bought a display/buttons shield, but since this covers up ALL of the I/O I decided not to try and use it.
Looks like it's BreadBoard time!

Current. 2013-11-08 19:55:10

Just a few words to say what the current project is.
A couple of weeks ago, I bought myself an Arduino. It was cheap, and I've been reading a LOT about them. Anyway, it arrived, and I was a little sad but it turned out to be a cheap knock-off. However, it works, and I guess that's what matters the most.
I had also started picking up a few little modules to play with. As I had a project in mind, I decided firstly to concentrate on the bits 'n' bobs that would go into that.
These are; an RTC module, with a battery backup.
An SD card reader writer.
Both of these have been tested and I'm pleased to say, they worked too!!
I've had a look at the libraries, and with a little fiddling, I've managed to get them talking to the Arduino at the same time via SPI.
All I have to do now is the write the code that glues it all together. Ultimately, this is going to require an RS232 port too. I have a little board that does that too, I just haven't tested it yet.
Here's what I'm planning, though this may change as time goes by.
I want to connect the Arduino to a machine control with an RS232 port. Commands are given to the Arduino by the HMI. 'T' inquires the time, which is strictly formatted hh:mm:ss DD/MM/YY so that it can easily be parsed. Setting the time; DYYYYMMDDhhmmssZ This is parsed by the Arduino and the clock is set. That's the RTC bit, the SD card reader writer is going to be a little more complicated, I need to open a file with today's date as the filename, and write to that file the results of a test. I'll add that detail here, when I've decided how it's going to go!
- Steve

New Blog. 2013-11-08 19:37:24

Seems my site is turning more and more into a blog. So, here it is in blog form. More to come as I do 'stuff'.

12 results in 0.0019s Page dynamically created :   August 17, 2022, 7:13 am
Last edited: April 23, 2017