RISC OS

Error message

  • Warning: date_timezone_set() expects parameter 1 to be DateTime, boolean given in format_date() (line 2062 of /home/scslive/public_html/includes/common.inc).
  • Warning: date_format() expects parameter 1 to be DateTimeInterface, boolean given in format_date() (line 2072 of /home/scslive/public_html/includes/common.inc).

South-West Show 2019 Report

The Iconbar - Sat, 02/16/2019 - 16:20
The South-West Show took place in its new (much more accessible and suburban) home in Bristol. Read on to find out more (any mistakes or omissions are mine)...

The view at the new hotel was not as scenic but first impressions were good - a more central location in a nice hotel (and good, free wifi). But there were long delays on the food orders.

There was a full selection of talks and the separate room was a little too small for the audience. As usual, one of the best things about the show is the chance to wander around the stands and talk to people...

R-Comp had their full range along with the new software release of FIreworkz and some Armbooks showing RISC OS in action.

MUG had a robot arm controlled from RISC OS and some educational python scripts on RISC OS.

SROUG were showing off lots of interesting hardware projects including a robot arm. Andrew convoy has been busy outside work with getting Sense HAT work on RISC OS which he was demonstrating.

You could try your hand at bell-ringing under RISC OS (and on some real equipment) and buy some jam.

Cameron Cawley was demonstrating some software he had ported to run on RISC OS such a Smb and DosBox which will be on his website. He has also written some ARM code as part of his assignments to play tracker tunes.

Rob Coleman had his BBC projects on display. He has a Pi connected as a second processor and was showing it running Amstrad games. There was and a working Doomsday machine.

ACMS had an impressive array of music hardware on their stand, all running from a classic Archimedes machine.

Amcog games had a new version of stunt car racer with a new level and the option to choose your car. There is a new concept game in development and rdsp now has a reverb feature and the ability to save and sounds you create as wav files.

Ident were promoting their wifisheep technical channel on YouTube and showing some enhancements to their Ident hardware. The sheep name is a reference to their very rural location.

Soft Rock had their selection of software and hardware cases which look like the RISC PC. Vince was also publicising the RISC OS awards - don't forget to vote.

Organiser have done lots of internal code tidying but no new features as yet. They are still keen on any user suggestions to enhance the software

Steve Fryatt had his full range of software on show with some bug fixes. There is lots of interesting developments going into CashBook.

ROOL had the full range of software, manuals and some stand machines playing videos. There is an update to ePic, DDE and some nice themed cards for different machines (the Pandaboard card is my favourite with a nice panda on it). ROOL has a list of new bounties which should appear in the near future.

Sprow was on the ROOL stand. With his Elesar hat on, he was showing Prophet able to make electronic VAT submissions (which will be compulsory from April).

Chris Hall was demonstrating his FamTree software and his range of hardware projects. The latest one is a data monitor which collects real-time data and provides reports in CSV format. It has been plugged into a level crossing, collecting real data since October.

The ROUGOL stand was full of detail on the London Show (in its usual venue on saturday 26th October) and the monthly talks. You can hear Chris Cox on monday.

RISCOS bits had the full range of cases with risqué names. Andy is working on some new items (doubtless with appropriate names) for Wakefield.

Orpheus had the usual free sweets and also cheaper prices (for both new and existing customers) on several packages. Richard was also doubling as show doorman and announcer.

Sine Nomine had an interesting new application called Recce which integrates Google Street view and Flickr into RiscOSM. So you can really visualise places on the map.

There was a big charities stand with second hand books and kit in the middle of the room.

It was a new venue with lots of exciting new developments....

Talks
Pictures

3 comments in forum

Categories: RISC OS

South-West Show 2019 talks

The Iconbar - Sat, 02/16/2019 - 16:15
There was a full set of talks at the South-West show

12:00 - Talk by R-Comp & RISC OS Developments
Andrew promised a long talk as he had lots to show....He started with RISC OS developments update showing a browser. Thus is a port of OWB, running webkit. Interface looks like Browse. It is much faster than Otter. There is also a WebKit port - Iris. You wait ages for a RISC OS Browser to come along...

This Browser software is still very much beta but good to see running. Also updated us on license developments. It has generated lots of interest, especially in Far East and outside UK. 4/5 sales on Pling store over Christmas from North America.

R-Comp has a new version of Fireworkz which has new statement display modes(including a split view). Mail merge has been enhanced. Netfetch 5.5 now uses new ssl module for secure connection. Showed off the mini.m and Armbook. Mentioned the Titan and pifi

13:30 - Talk by Sine Nomine
There was a test drive of Sine Nomine games first, including House of Cards, and programs to create and solve Sudoku and a quick mention for Impact.

The main focus was showing RiscOSM. This brings Open Street Map data to RISC OS. We were shown the Map of the area of Bristol where the show was taking place, with a master tour in all the features RiscOSM has to customise and style the maps. The new Recce application allows pictures to be pulled in from the Internet. We saw the Google Street View photo for the hotel. The 10 pounds for buying Recce is going to the ROOL bounty for TCP/IP stack.

New features are being added to exploit wikidata

2:50 - Talk by Steve Fryatt
Steve gave us a tour of his lesser know software which can be downloaded for free from his website or purchased on a CD (with the money going to Charity).

!IconClipbrd was written by Thomas Leonard and taken over by Steve who made it 32bit. It provides a global clipboard and can be setup automatically from !Boot on startup. Ctrl+D will remove a filename and Ctrl+E will remove all except filename. Ctrl+S does case swapping and CTRL+T adds in today's date (configurable in App).

!ClipBoard gives you access to the clipboard via a window.

!WinScroll provides a panning option to any Window.

!GetFiler allows you to save the commands to reopen your Windows and saves to an Obey file.

!PCKeys allows you to change the way the delete key works to the same way as Windows with Delete and backspace keys

Cross provide a standard 2D or 3D version of noughts and crosses.

There is also a nice implementation of Solitaire and Pairs.

Float is a bubble help which is configurable. Window furniture and Icon bar furniture can be switched off and there is an ignore list for tasks.

3.15 - Talk by RISC OS Open Ltd (ROOL)
Steve recapped on the last 6 months of developments. He started with the Open Sourcing of the software. This has led to lots of interest. As one example, the Raspberry Pi foundation now contributed to ensuring RISC OS runs on all Pi models.

DDE has been updated to 28D

ePic has been updated, fixing bugs in some releases and updating the DDE.

RISC OS has been moving from CVS to Git and GitLab provides access.

The scheme to double bounty donations with money from ROOL was a great success so several bounties now funded and claimed. Beta testers are needed for the new tool chain. Cut-n-paste/drag-n-drop is being released in phases. Filesystem partition support is underway. Paint has received lots of improvements. Still 2 unclaimed bounties. A new bounty list will appear shortly.

TCP/IP bounty fixes security holes and moves from SSL to more secure TLS. Based on mbedTLS (developed and maintained by Arm). Already in use by Messenger, Prophet, Organizer, Recce, AntiSpam.

Todo list at ROOL is to publish roadmap update, make the DDE more accessible, make source code more accessible, identify key items to migrate from Arm, push bounties forward, working with ROD on user experience, work with third parties on new platforms.

No comments in forum

Categories: RISC OS

South-West Show 2019 in Pictures

The Iconbar - Sat, 02/16/2019 - 16:00
Take a walk around the South-West 2019 with us....

(Click on the thumbnails for the bigger image)























No comments in forum

Categories: RISC OS

Show West Show 2019 preview

The Iconbar - Fri, 02/08/2019 - 08:44
Next weekend (Saturday 16th February) sees the regular South West show in its brand new venue. Organised as usual by R-Comp and Orpheus Internet, the show will take place at the Arnos Manor, in Bristol. The venue is really easy to reach by both car and public transport and you can book a room if you want to stay the night.

Exhibitors for this year include:

The show is planned to run from 10:30am to 4pm.

There will probably be show reports from the usual suspects and theatre talks online, but there is really no substitute for being there and supporting the RISC OS community.

For more information, check out the show website.

No comments in forum

Categories: RISC OS

January News

The Iconbar - Thu, 01/31/2019 - 08:37
Some things we noticed this month. What did you see?

Bounty updates from ROOL

RISC OS Blog reviews Doom.

!Vector now has a free manual (OpenVector) on !Store

Date for London Show confirmed as Saturday 26th October.

Review of RISC OS hardware option on RISC OS Blog

No comments in forum

Categories: RISC OS

RISC OS on youtube

The Iconbar - Sat, 01/26/2019 - 10:14
The video sharing site youtube is always an interesting place to find tutorials and see what other people are up to. There are some nice tutorials on how to update your RaspberryPi software, requests for help and people showing off their systems. There is plenty going on - what is your favourite link?

Latest RISC OS content on youtube can be from here.

No comments in forum

Categories: RISC OS

David Pilling Treasure Trove

The Iconbar - Fri, 01/18/2019 - 07:02
If you are looking to learn about software, there is a treasure trove of source code and resources available on the Internet.

One of the more interesting resources is from David Pilling. He is something of a RISC OS legend (being behind OvationPro and many critical tools for RISC OS). His website lists his software and also includes several free utilities.

There is also an interesting section for 'retired' software here. Rather than just let the packages disappear, the source code is now available for all the ArcFax, Panorama, SparkFS and many other former commercial applications. Enjoy digging....

David Pilling website

No comments in forum

Categories: RISC OS

South-West Show Q and A

The Iconbar - Fri, 01/11/2019 - 08:04
With the South-West Show a month away, we hunted down the organisers for some more details....

We noticed the venue has changed this year. What was the reasoning behind that?
Various exhibitors and some customers have said that as the old venue could only be reached by car that it was not suitable. One exhibitor last year backed out at the last moment citing this as the reason.

Is it still easy to reach via public transport and car?
It is now more easily reached. Bristol Meads mainline station is only 20 minutes walk away there are believe something like 11 bus routes that go past the hotel and it has a large car park off of a main route from the M4 motorway. There is a map on the website http://www.riscos-swshow.co.uk

Bristol is quite a trek for some. Is it possible to stay the night at the hotel? Is anything planned for the night before the show?

Yes it is. Nothing official is planned but usually a few early birds and exhibitors might gather in the bar for a chat.

Any other changes you can tell us about?

The format for the show will be similar to previous years

Who is exhibiting this year?

All the usual suspects. we will have an updated list on the website within the next week or so. But most exhibitors from previous years a few new ones should be coming.

Are you anticipating any interesting announcements this year at the South-West Show?

We always hope that there will be special announcements from the exhibitors.

Anything else you can tell us about?

RISC OS Developments Ltd will be giving a talk at the BCS on the 17th January in London to their Open Source Groups. Details will be on their website shortly.

South-West Show website

No comments in forum

Categories: RISC OS

3 key dates for your diary in 2019

The Iconbar - Fri, 01/04/2019 - 07:39
While you are still in New Year's resolution mode, there are 3 key dates which should be in your diary for 2019. We are very lucky in the RISC OS World to have 3 Shows spread across the country and they diary. They are where all the big announcements are made, and the chance to meet developers and other RISC OS users. It is worth attending at least one (if not all 3).

So get these dates in your dairy now....

The South-West show takes place on Saturday 16th February, 2019 takes place at a brand new location in Bristol. The show have been moved to make it much easier to reach by public transport.

The Wakefield show is on Saturday, 27th April 2019 at it s regular home at Cedar Court Hotel. This is very easy accessible.

The London Show has not published an official date yet, but always happens at the end of October. We will report on any details as soon as we receive them.

All the shows happen at Hotels, so you can always arrive the night before and meet up with other RISC OS users around the hotel.

Are there any other critical dates for you in the RISC OS Calendar?

1 comment in forum

Categories: RISC OS

December news

The Iconbar - Fri, 12/28/2018 - 10:24
Some things we noticed this month. What did you see?

RISC OS Blog has a review of Island of the Undead

Pipedream 4.56 released.

The long-awaited Riscository Wakefield show report is now ">online

Some interesting things are happening on ">riscos.fr

No comments in forum

Categories: RISC OS

RISC OS interview with Chris Williams

The Iconbar - Mon, 12/24/2018 - 09:20
For your Christmas treat this year, we have an interview with Chris Williams, of Drobe and The Register fame. Enjoy and a very Merry Christmas from Iconbar.

Would you like to introduce yourself?

I'm Chris Williams, former editor of RISC OS news and trouble-making website drobe.co.uk. The site's frozen online right now as an archive because while I used to have a lot of free time to work on it, I graduated university in the mid-2000s, got a real job, and sadly ran out of spare time to maintain it, and so put it in stasis to preserve it. Today, I live and work in San Francisco, editing and writing articles for theregister.co.uk, mostly covering software and chips. I also once upon a time wrote some RISC OS applications, such as EasyGCC to help people build C/C++ projects, and a virtual memory manager that extended the machine's RAM using swap space on disk. If you're using RISC OS Select or 6, there's some of my code in there, too, during boot up.

How long have you been using RISC OS?

Since 1992 when my parents bought an Acorn A5000. So I guess that's about 26 years ago. We upgraded to a RiscPC as soon as we could. I took a StrongARM RPC crammed with add-ons, like an x86 card, IDE accelerator, Viewfinder graphics card, and Ethernet NIC, to uni, and got to know the OS really well. No other operating system I've used since has come close to the simplicity and ease-of-use of the RISC OS GUI, in my opinion. Apple's macOS came really very close, and then the iGiant lost the plot on code quality.

What does RISC OS look like from the USA viewpoint?

It's kinda like BeOS, in that operating system aficionados will know of it and appreciate it for what it is: an early operating system that had an intuitive user interface but was pushed under the wheels of Intel and Microsoft. Folks who experiment with RaspberryPis may also come across it, as it is one of the operating systems listed on raspberrypi.org. In conversation with Americans, or in writing articles, I normally introduce RISC OS as the OS Acorn made for its Arm desktop computers - y'know, Acorn. Acorn Computers. Britain's Apple. The English Amiga. The ones who formed Arm, the people who make all your smartphone processor cores. And then the light bulb turns on.

What's really interesting is what's going on with Arm, and I think that will help, to some extent, RISC OS appear a little on more people's radars. Anyone who's been using RISC OS since the 1990s knows the pain of seeing their friends and colleagues having fun with their Windows PC games and applications, and their Intel and AMD processors, and graphics cards, and so on. Even though RISC OS had a fine user interface, and a decent enough set of software, and fun games, it just was for the most part, incompatible with the rest of the world and couldn't quite keep up with the pace of competitors. It was hard seeing everything coalesce around the x86-Windows alliance, while Acorn lost its way, and Arm was pushing into embedded engineering markets.

Now, Arm is in every corner of our daily lives. It's in phones, tablets, routers, smartcards, hard drives, Internet of Things, gadgets, servers, and even desktops. Microsoft is pushing hard on Windows 10 Arm-based laptops with multi-day battery life, at a time when Intel has got itself stuck in a quagmire of sorts. It blows my mind to go visit US giants like Qualcomm, and Arm's offices in Texas, and see them focusing on Arm-based desktop CPUs, a technology initiative the Acorn era could really have done with. It's just a little mindboggling, to me me anyway, to see Microsoft, so bent on dominating the desktop world with Windows on x86, to the detriment of RISC OS on Arm, now embracing Windows on Arm. I probably sound bitter, though I'm really not - I'm just astonished. That's how life goes around, I guess.

Anyway, it's perhaps something RISC OS can work with, beyond its ports to various interesting systems, if not targeting new hardware then catching attention as an alternative Arm OS. One sticking point is that Arm is gradually embracing 64-bit more and more. It'll support 32-bit for a long while yet, but its latest high-end cores are 64-bit-only at the kernel level.

What other systems do you use?

I use Debian Linux on the desktop, and on the various servers I look after. I was an Apple macOS user as well for a while, though I recently ditched it. The software experience was getting weird, and the terrible quality of the latest MacBook Pro hardware was the final straw. Over the years, I've used FreeBSD and Debian Linux on various Arm chipsets, AMD and Intel x86 processors, and PowerPC CPUs, and even a MIPS32 system. I just got a quad-core 64-bit RISC-V system. I like checking out all sorts of architectures.

What is your current RISC OS setup?

I have a RaspberryPi 2 for booting RISC OS whenever I need it, though my primary environment is Linux. It's what I use during work.

What is your favourite feature/killer program in RISC OS?

Back in the day, I couldn't work without OvationPro, Photodesk, the terminal app Putty, StrongEd, BASIC for prototyping, GCC for software development, Director for organizing my desktop, Netsurf and Oregano, Grapevine... the list goes on.

What would you most like to see in RISC OS in the future?

Many, many more users. People able to access RISC OS more easily, perhaps using a JavaScript-based Arm emulator in a web browser to introduce them to the desktop.

What are your interests beyond RISC OS?

Pretty much making the most of living in California while I'm here, and traveling around the United States to visit tech companies and see what America has to offer. From Hawaii to Utah and Nevada to Texas, Florida and New York, and everything in between. I cycle a lot at the weekends, going over the Golden Gate Bridge and into normal Cali away from the big city, or exploring the East Bay ridge, returning via Berkeley. My apartment is a 15-minute walk from the office, so I tend to cycle a lot to get some exercise. When I was living in the UK, I ran about 48 miles a week, before and after work, which was doable in Essex and London where the streets and paths are flat. That's kinda impossible in San Francisco, where the hills are legendarily steep. I'm happy if I can make it four or five miles.

I also do some programming for fun, mainly using Rust - which is like C/C++ though with a heavy focus on security, speed and multithreading. We really shouldn't be writing application and operating system code in C/C++ any more; Rust, Go, and other languages are far more advanced and secure. C is, after all, assembly with some syntactic sugar. I've also been experimenting with RISC-V, an open-source CPU instruction set architecture that is similar to 64-bit Arm in that they have common roots - the original RISC efforts in the SF Bay Area in the early 1980s. The idea is: the instruction set and associated architecture is available for all to freely use to implement RISC-V-compatible CPU cores in custom chips and processors. Some of these cores are also open-source, meaning engineers can take them and plug them into their own custom chips, and run Linux and other software on them.

Western Digital, Nvidia, and other big names are using or exploring RISC-V as an alternative to Arm, which charges money to license its CPU blueprints and/or architecture. Bringing it all together, I've started writing a small open-source operating system, in my spare time, in Rust for RISC-V called Diosix 2.0 (www.diosix.org). Version 1.0 was a microkernel that ran on x86. The goal is to make a secure Rust-RISC-V hypervisor that can run multiple environments at the same time, each environment or virtual machine in its own hardware-enforced sandbox. That means you can do things like internet banking in one VM sandbox, and emails and Twitter browsing in another, preventing any malicious code or naughty stuff in one VM from affecting whatever's running in another VM.

You can do all this on x86, Arm, and MIPS, of course. But given RISC-V was not bitten by the data-leaking speculative-execution design flaws (aka Meltdown and Spectre) that made life difficult for Intel, AMD, Arm, et al this year, and Rust is a lot safer than C/C++ that today's hypervisors and operating systems are written in, I felt it was worth exploring. Pretty much every Adobe Flash, Windows, iOS, Android, macOS, Chrome, Safari, Internet Explorer, etc security update these days is due to some poor programmer accidentally blundering with their C/C++ code, and allowing memory to be corrupted and exploited to execute malicious code. Google made the language of Go, and Mozilla made the language of No: Rust refuses to build software that potentially suffers from buffer overflows, data races, and so on.

It also all helps me in my day job of editing and writing a lot - keeping up to date with chip design, software, security, and so on.

If someone hired you for a month to develop RISC OS software, what would you create?

To be honest, I'd try to find a way to transplant the RISC OS GUI onto other environments, so I can use the window furniture, contextual menus, filer, pinboard, iconbar, etc, on top of a base that runs on modern hardware. I think that would take longer than a month.

What would you most like Father Christmas to bring you as a present?

A larger apartment: rent is bonkers in San Francisco, so I could do with some extra space.

Any questions we forgot to ask you?

Why do vodka martinis always seem like a good idea 90 minutes before it's too late to realize they were a bad idea?

PS: if anyone wants to get in touch, all my contact details are on diodesign.co.uk

You can read lots of other interviews on Iconbar here

No comments in forum

Categories: RISC OS

The Book of Arcade Games reviews

The Iconbar - Fri, 12/14/2018 - 08:36

The Book of Arcade Games was launched at the recent RISC OS London Show.

The 130 page book contains updated and and enhanced listings for 10 of the best Arcade games from the Drag'n'Drop magazine. There is also a introductory guide on how to type in (and Chris was offering the already typed in code to download at the Show).

The Games are all written in BBC BASIC and there is a nice screenshot and description of each before the listing. The type is clear and readable, and the book is spiral bound, so sits flat on your desk. All this makes it very easy to follow the code.

If you are interested in programming RISC OS of just looking for a bit fo fun and nostalgia, I can recommend this book.

You can preview the book online for free and it costs 15 pounds (including postage) from Drag'n'Drop website.

No comments in forum

Categories: RISC OS

What is apache?

The Iconbar - Fri, 12/07/2018 - 07:35
With RISC OS switching to the Apache license, here is your brief intro to the world of Apache....

Apache the software program
Apache is a key building block of the Internet. It runs on many of the servers which make up the Internet and allows them to provide the websites you use every day. Its many features include the ability to host multiple websites on a sever, control access and provide security, execute scripts and commands when you access pages, log website activity, and a whole host of other features. You use Apache every day without realising it.

Apache the license
All software has a license which defines what rights you have and what use you can make of a piece of software. For example, most commercial software bans you from trying to dissect it and give it away to your friends.

The Apache License is one of several Open Source licenses. These generally come with free software (as in you do not have to pay for it) which includes the source code. The big difference in Open Source licenses is that some are viral (with the GPL you have to release any software which uses it under the same license so it 'infects' the software) and non-viral (you can use it with other software including commercial software so long as you respect the rules on the original software).

It is possible to release software under more than one license. A nice example is the PDF library Itext, which you can use for free under the AGPL license (requiring you to release your code for free as well with the source code), or buy a commercial version (identical except it comes with a commercial license removing this requirement so you can use in commercial software).

If your aim is to encourage maximum update and usage, you would choose a non-viral license such as the Apache license which is what RISC OS now uses.

If you own the software, you can choose to change the license (as RISC OS Developments has done having acquired RISC OS), but you cannot modify the license on software belonging to someone else).

Apache the foundation

There is also an organisation called the Apache Software foundation which provides a home for a large number of software programs developed under the Apache license. Most of these are technical and you might have heard of them if you are a software developer (ie Ant, Groovy, Hadoop, Maven, Perl) or runs on servers providing Internet services (ie SpamAssassin, Tomcat).

Apache is an organisation of individuals (no Company/Corporate membership option) and anyone can join. It also organises conferences and promotes software development.

Anyone can use the Apache license in the software. This is perfectly acceptable and many other software projects have been doing the same for many years.

If you want your software to be an 'official' Apache project, you also need to follow the apache rules on how software is developed. This lays down a clear methodology and governance.

Many of the software projects which are Apache projects started life outside Apache and have joined by adopting the Apache rules. For the last 2 years, the Java IDE NetBeans has been transitioning to an Apache project (I have had a minor involvement in that giving me a very interesting viewpoint of the Apache foundation).

More details on Open Source licenses at GNU website
Apache website

No comments in forum

Categories: RISC OS

November news

The Iconbar - Fri, 11/30/2018 - 07:07
Some things we noticed this month. What did you see?

Elesar finds a way to improve performance on your Titanium machines with free software update.

New stunt drivers game from AmCoG games.

Updated free guide to VirtualRPC in Use available to download.

Review of the new RaspberryPi3 A+ on RISC OS blog.

Elesar update !Prophet to 3.95

No comments in forum

Categories: RISC OS

Drag'n'Drop Summer 2018 edition reviewed

The Iconbar - Fri, 11/23/2018 - 08:01

If you want some RISC OS related news, reviews and projects (or still missing the summer days), Then the Summer edition of Drag'n'Drop Magazine is for you.

The magazine is published as a PDF file (so you can read it on any Computer or print it out) and always reminds me of the 1990s era Acorn magazines at their best. The magazine does not assume you have been using RISC OS since the 1990s though, and there is always a beginners page to get you started.

The news section includes information on new hardware, and new commercial and free software. Because can be read online, there are lots of useful website links to follow. There is a games review of Island of the Undead from Amcog Games and an ongoing series on using Schema2.

The bulk of the magazine features code - apps, games, hints and tricks to suit all levels of ability. You can learn about Upscaling and interpolation, type in an play a platform game called Boing, an updated Space Invaders Game, build some more serious applications for desktop and printing. My personal favourite in this edition is the guide to making a glass button.

This month also includes an index at the end for Volume 1-9 of the magazine (which can all be bought in a big back issue edition).

There is a free preview of the magazine to read, and you can buy the magazine directly from the website.

No comments in forum

Categories: RISC OS

PackMan in practice, part 2

The Iconbar - Fri, 11/16/2018 - 09:00
As mentioned at the end of part one, this article about creating PackMan packages is going to look at what's necessary to generate distribution index files, ROOL pointer files, and how these tasks can be automated. Towards the end I'll also be taking a look at some options for automating the uploading of the files to your website.

Index files and pointer files

Distribution index files

Distribution index files are the mechanism by which the PackMan app learns about packages - each 'distribution' (i.e. collection of package zip files hosted on a website) is accompanied by an index file. This index file contains information about each package; at first glance it looks like it's just a copy of the RiscPkg.Control file from within the package, but there are actually a handful of extra fields that are included within each 'control record':

  • Size - The size of the zip file
  • MD5Sum - The md5 of the zip file
  • URL - The (relative) URL to the zip file
Additionally, by convention the distribution index file should only list the most recent version of each package. It's also common (but not necessary) for the package files to contain the package version as part of their name, e.g. SunEd_2.33-1.zip. This way, although the index only lists the most recent version, you can still host the previous versions on your site if you want or need to.ROOL pointer files

For the community distribution that's managed by ROOL, ROOL require package mainteners to provide a 'pointer file' containing a simple list of links/URLs to packages. ROOL's server will then regularly fetch this pointer file, fetch all the (changed) packages, and merge everything into the central distribution index file.What we need is some kind of packaging tool

These rules for distributions, index files, and pointer files mean that the task of preparing package zip files for publishing is too complex to be attempted using simple Obey file or BASIC scripting. OK, if you were only interested in ROOL pointer files you could probably cobble something together without too much effort, but in most cases the use of a 'proper' tool is going to be required.

The good news is that to generate a distribution index file, a tool only needs two bits of information about each package: the URL the package is going to be hosted at, and a copy of the zip file itself. Everything else can be determined by examining the contents of the zip. This means that once you've got such a tool for generating index files, it should be very easy to plug it into your publishing pipeline.

And the even better news is that I've already written a tool - skopt, a.k.a. Some Kind Of Packaging Tool. Currently its feature set is quite small, but since it appears to be the only tool of its kind in the standard PackMan distributions, it's something that's very much needed if the ecosystem is to continue to grow. Additionally, it's built ontop of the same LibPkg library that RiscPkg/PackMan use internally - helping to simplify the code (just a few hundred lines of C++) and ensure consistent behaviour with PackMan itself.Functions

The current version of skopt has three modes of operation:

  • copy - Copy package file(s) from one location to another. However, unlike a simple *Copy command, this will rename the package zip to the 'canonical' form (i.e. SunEd_2.33-1.zip). It'll also raise an error if it tries to overwrite a package which has the same name but different content (which could indicate that you're trying to publish a new version of a package without increasing the version number).
  • gen-binary-index - Scans a list of folders containing (binary) package zip files and generates the corresponding distribution index file. It assumes that the filenames of the packages within the folders will match the names by which the files will be uploaded to your website. However you can specify per-folder URL prefixes.
  • gen-pointer-file - Scans a list of folders containing binary packages and generates a ROOL pointer file. As with gen-binary-index, it's assumed that the names of the files will match the names used once uploaded, and URL prefixes are applied on a per-folder basis.
Uploading packages

With skopt managing generating the index file(s) (and optionally package file naming), there's only one piece of the puzzle left: how can you upload the packages to your site?

Ignoring the obvious choice of doing it manually, there are at least a few RISC OS-friendly solutions for automation:!FTPc

!FTPc can be driven programmatically by the use of Wimp messages, and comes with a handy BASIC library to simplify usage. So if you have FTP/FTPS access to your web site, only a few lines of BASIC are needed to upload files or folders.scp, sftp

If you have SSH access to the web server, then scp (as included in the OpenSSH PackMan package) may be an easy solution for you.

The OpenSSH package also includes a copy of the sftp command, which is useful if your web site supports SFTP rather than the older FTP & FTPS protocols. sftp can easily be driven from scripts by the use of the -b option, which will read a series of commands from a text file.rsync

rsync (also available via PackMan) is another option for copying files via SSH connections (or via the bespoke rsync protocol).Next time

Uploading binary packages to PackMan distributions is all well and good, but what about the source code? Or what if you want to have regular web pages through which people can also download your software? Stay tuned!

No comments in forum

Categories: RISC OS

GPS becomes Data Logger

The Iconbar - Fri, 11/09/2018 - 06:21
At the recent London Show Chris Hall was showing his new Data Logger. Here he gives some info into the new hardware

Version 2.40 of my SatNav software and the compact hardware unit with just an OLED display meant I could stop trying to fix things that were still unfinished. I had full battery management, conditional data logging, robust and error-tolerant data downloading on demand and power management that avoided any SD card corruption.

Where next?

 
There were things still unfinished: I wanted the unit to be able to use WiFi to transmit data instead of making do with manual downloads to a USB pen drive; I would have liked to remove the code which drives a liquid ink display (Papirus) into a more general purpose module, where it should be, but had never tried writing one. RiscBASIC could compile an application to a module but only at 26 bit. Both these aspirations were therefore not immediate.

It was not long before an idea came to me: as usual it hit me at 0400. Putting detail aside, the unit’s fundamental purpose was to monitor incoming data (GPS data) and selectively log the data along with time and date of receipt. The data could then be downloaded on demand to a USB pen drive in an appropriate format. My university training had strongly counselled me never to press something designed for a specific task into service for a quite different purpose. At least not without careful thought.

The front panel showing the push buttons and the USB socket, as well as the 12-way screw terminal block, which can easily be unplugged.

The idea I got was that I could build a data monitor which would examine a number of input lines and log any state change. The inspiration for this came from my volunteer work on the Severn Valley Railway: we had experienced a few faults on S&T equipment that had proved very difficult to fault find. They were intermittent and on complex equipment where faults would be difficult for the signalman to report in a way that could help us diagnose the problem. Accurate details of exactly what had occurred would help enormously.

Removing the GPS module (which used the serial port to communicate), adding a CJE real time clock module and using the GPIO pins to monitor incoming data would mean that very little in the SatNav programme would need to be altered to fulfil this new purpose.Data Logger

The main purpose of the data logger is to monitor signalling circuits so that a precise sequence of relay operations can be logged. Eight inputs are scanned 1500 times a second and any changes of state are logged. The GPS module has gone, replaced by a simple real time clock card. Otherwise the software is very similar, with changes of state of any one of the eight inputs being the parameter that is being monitored rather than GPS location. The unit is designed to operate for weeks at a time, with regular visits to download data to a USB pen drive simply by pressing the 'ON & INFO' button. Making the device fault tolerant was quite tricky as there is no desktop display to show errors. (A desktop display is being created but no monitor is plugged in.)

The GPIO inputs themselves on the Raspberry Pi used 3.3V logic and had software-controlled pull-up or pull-down resistors. The circuits being monitored used 12V, 24V or 50V and comprised a number of relay contacts in series with a relay coil. Some relays had spare contacts (making them easy to monitor) but some did not, particularly those monitoring track circuits.

The ‘simple’ DC track circuit exploits the hysteresis of the relay so that it falls away at a known voltage and requires a higher voltage to pick up again when the train has gone. Monitoring the single contact provided is the only way which means breaking into signalling circuits without disturbing them.

The signalling circuit shown is a 24V circuit with the fused positive supply (B12fx) on the left and the negative return (N12) on the right. Inputs A to D are ‘active low’ and connected to GPIO pins GP5-GP8 which have, by default, pull-up resistors on chip. Inputs E to H are ‘active high’ and are connected to GPIO pins 17-19 and 23 with pull-down resistors.

That also means being tolerant of relay back EMFs as the relay coil circuit is broken. How resilient the unit will be in service is still unproven.

My first stab at protecting the GPIO 3.3V logic from the 24V signalling supplies and the hundreds of volts that might appear as relay coil circuits are broken. Each input is inactive when open circuit and can be activated in the voltage ranges noted. This gives a choice of +1 to -30V (which includes 0V); -6 to -30V (with a series resistor and excludes 0V) or +6 to +30V. Voltages in the range specified will make the input ‘active’.

Monitoring of the inputs has a ‘test’ mode built in so that holding down certain keys on the keyboard will toggle the measured status of the particular input.

Construction

The case itself is made from polycarbonate sheet, cut to several different widths by the supplier that I cut to length with a hacksaw.

The case with printed labels stuck onto the protective film after cutting the ploycarbonate sheets to size.

Most of the breakout circuit board is taken up with the various components needed to protect the GPIO inputs from harmful external voltages but otherwise it is a very similar layout to that used for the GPS unit. Circuitry to control power switching is identical.

Internal wiring. Signal diodes, 1N914, resistors and capacitors should protect the 3.3V level logic from +24V and relay coil back EMFs. Inputs will sink no more than 200µA to avoid disturbing the signalling circuits being monitored.

A side view shows the plug-in screw terminal block which can be connected to the circuits to be monitored using up to 2.5mm2 cable.

Eight inputs plus three voltage-measuring inputs (approx. 0 to 30V with a resolution of 33mV). The terminal block can be unplugged.

All I have to do now is to check for any dry soldered joints!

Testing

Power consumption is about 150mA but the unit is designed to operate with an external mains power supply. The internal battery allows it to continue monitoring the signalling circuits for 17 hours after external power is lost. The signalling circuits themselves are also battery backed.

The unit has an ADC board with three spare voltage inputs, allowing any positive voltage to be recorded at any state change.

The OLED display shows the time of day and the status of the eight inputs and the three voltages (plus the supply voltage, which is the battery voltage unless it is being charged by a healthy external supply.

The OLED display shows the time (in GMT) updating once per second on the first line and shows the exact time of the last log entry on the second line with the status of each input as logged. On the line below the letters A to H will appear an ‘X’ if that item is active. The line showing ‘Man Poff’ indicated that the unit was switched on manually with no external power and that was the last change of state (an ‘A’ would mean A went active and ‘a’ inactive). The four voltages are those measured at that time. 3.807V implies 54% battery life. The other voltage inputs are not connected.

An analysis of the sampling shows that the sample interval is about 650µs (pink dots) while ‘lost time’ (for example to update the OLED display - 8cs - or to measure voltages - 5cs) is generally less than 12cs.

The battery should last about 18 hours (at 175mA) and the voltage reading can be used to indicate the battery life remaining, as above.

Routine observations

The OLED display shows the current time and date in Grenwich Mean Time as well as the last occasion (time only, but shown to the nearest hundredth of a second) when one of the eight inputs being monitored changed state. The status of each input (A to H) is also shown.

No inputs are connected so the unit shows the initial condition: manually turned on with no external power supply.

Logging

The unit will keep a log of the various inputs monitored (making a new entry at each state change or every 30 minutes) which can be downloaded onto a USB pen drive on demand by inserting a USB pen drive in the USB socket and pressing the ‘ON & INFO’ push button.

Download request at &573EC486
Opening file for day 60 as SCSI::0.$.Lg28-09-2018/csv
Closing file for day 60 length=50173
Writing valid lines from DataLog/csv (length=C457) to
.RL28Sep2018/csv
Closing copy file at length=50263
Reopening copy file from 57 to C457
Logfile now truncated to length=C400
When a log is downloaded, the daily log files are written to the pen drive along with a file (shown above ‘LogFile.csv’) which will show detailed information to allow any errors to be followed up.

Pressing the ‘INFO’ button will bring up this screen and show the progress of the download as shown. The ‘ON’ button is used to ensure the messages don’t disappear.

The ‘ON’ button is used to make sure that the messages remain on screen for long enough for the user to read them.

As each day’s log details are downloaded, a progress report is shown.

If the process completes with no errors this screen is shown

Releasing the ‘ON’ button confirms you have read the message.

Logging format

The logging of the inputs uses a ‘CSV’ file, the syntax of which includes the time of each entry and the various parameters being monitored. The logging now looks like the example below.

28-09-2018,11:29:34.71,&573E97E7FF,0,0,0,0,0,0,0,0,4593mV,04.98V, .00V, .00V,Man POn ,0
28-09-2018,11:29:49.57,&573E97EDCD,0,0,1,0,0,0,0,0,4587mV,04.98V, .00V, .00V,C,21675
28-09-2018,11:29:49.84,&573E97EDE8,0,0,0,0,0,0,0,0,4596mV,04.98V, .00V, .00V,c,238
28-09-2018,11:30:52.50,&573E980662,0,0,1,0,0,0,0,0,4593mV,04.98V, .00V, .00V,C,92043
28-09-2018,11:30:52.71,&573E980677,0,0,0,0,0,0,0,0,4596mV,04.98V, .00V, .00V,c,0
28-09-2018,11:31:29.20,&573E9814B8,0,0,1,0,0,0,0,0,4596mV, .00V,05.04V, .00V,C,53452
28-09-2018,11:31:31.42,&573E981596,0,0,0,0,0,0,0,0,4596mV, .00V,05.04V, .00V,c,3104
28-09-2018,11:33:46.94,&573E984A86,0,0,0,0,0,0,0,0,0000mV, 0.00V, 0.00V, 0.00V,Quit,0
A download request will copy a log file for each of the last 60 days for which data are available onto a USB pen drive. It will archive previous days’ log entries as a record of what was extracted. Subsequent downloads will thus still capture full data for the current date. The example above shows log entries created by touching input ‘C’ with a wire connected to 0V with 5V applied to K or L. Times are in GMT.

Performing a log download

Place a USB pen drive in the USB socket, wait a few seconds for the presence of the drive to be recognised by the operating system and then press the ‘ON & INFO’ button. Log entries up to and including the current day will be downloaded, the data for the last 60 days being placed in separate files on the USB stick. Progress of the download will be shown on the OLED display and once reported complete the USB pen drive should be removed and the ‘ON & INFO’ button used to confirm this has been done, as prompted.

If an error message is shown on the OLED display (such as ‘disc drive is empty’) this can be recorded. The date and time at which the download was carried out and the date and time shown on the OLED display should also be recorded (so that any clock drift can be recorded).

A continuous log is stored on the internal 16GB SD card and historical data are archived on completion of any download (in case the pen drive is mislaid) with just the data for the current date retained in the accessible log.

Analysis of the data downloaded

Analysis of the data downloaded will be done in an Excel spreadsheet which will allow any abnormal operation to be examined in detail.

Logging

Daily logs are created when a download request is made, with dates, times and circuit activity recorded every 30min or at any change of state.

Power consumption

Although it cannot be seen with only an OLED display, a full desktop is being generated. With no HDMI display connected, power consumption drops from 550mA (excluding the display itself) to about 170mA so it is quite efficient.

Powerboost board

The ‘power booster’ board allows an internal 3.3V Lithium-Polymer battery to produce a 5.2V output and will use an external 5V power source to take over this rôle and charge the internal battery until fully charged. Switching on and off is controlled by an ‘ENABLE’ input.

A blue LED lights if power is being supplied to the computer. With the booster board output disabled, only a minimal current is drawn from the internal battery. A red LED lights if the internal battery becomes discharged below 3.2V (a diode is fitted to disable the output automatically). Fully discharging the internal battery is likely to damage it.

While the internal battery is being charged a yellow LED lights, turning green when it is fully charged. A small current drain to light the green LED to show a full charge seems enough to keep some power banks happy even whilst the unit is otherwise powered down.

This means the external source can be connected and disconnected without affecting the operation of the device except to extend battery life.

Analogue to digitial conversion

The ADC board is the 12 bit ADS 1015, by Adafruit, and it takes about 5cs to check all four voltages. I did try a 16 bit version but it took quite a bit longer to do the same sampling. I had also included the voltage sampling in the same block of code as that examining the eight GPIO pins for any state change. This meant that the unit was sampling at about 10Hz.

I realised that state changes of the GPIO pins needed to be monitored more frequently and voltages only really needed to be recorded at any state change. This improved the data sampling rate to 20Hz.

The next inspiration was that the OLED display was being updated each time there was a state change.

The OLED module keeps a sprite in memory which is updated line by line as text is written to the display drivers. Every so often, the display is updated via the IIC bus, which takes about 12cs.

There seemed no point in updating the OLED display more quickly than the eye could see so I held back updates if the display had been updated in the last 2s. The sampling rate rose to 1500Hz.

The Organic LED Display

The OLED display shows the active/inactive status of the eight inputs under the headings A to H under which an ‘X’ appears if the circuit concerned is active, updating every 30 mins or whenever any of the inputs changes state. The three voltages being monitored are also displayed, updating at the same time. Time and date is also shown, in GMT.

This continuous display allows the set up of the unit to be checked easily and the last recorded state change is displayed along with the precise time (to the nearest hundredth of a second) that it occurred.

Loss of power

Whilst the unit should continue operating in the event of a mains failure, it will shut down if its internal battery becomes exhausted and would, in that event, need to be restarted manually. Before doing so, the fact that mains power has been restored should be confirmed (a yellow or green LED indication on the powerboost board confirms that the internal battery is being charged).

The unit takes about 11s from power on to be functional and the real time clock is able to keep time whilst the unit is switched off by having its own 3V 70mAh coin cell. The unit will continue logging for about 17 hours after power has been removed after which it will shut down.

The ‘OFF’ button allows the unit to be shut down manually. The status of the ‘ON’ and ‘OFF’ buttons is held internally so that it can de determined which button was the last to be pressed.

Battery endurance

The internal rechargeable battery is monitored for state of charge each time any of the eight inputs changes state: it will show either ‘xx%’ (while power is off) or ‘chgng’ (whilst being charged). Below 3.2V it is discharged and the power boost board will force power off. The battery should last for 500 charge/discharge cycles.

If a keyboard, mouse and monitor are connected, then a multi-tasking graphical user interface will be displayed. Power consumption rises from 1W to about 3W with an HDMI display connected (excluding the power that the display itself requires). Direct WiFi access is not yet supported by RISC OS.

Power on/off

The ‘OFF’ button does not switch the unit off directly. Power is removed under software control so that corruption of the SD card, which could occur if power was removed whilst the log was being updated, is avoided.

Pressing the ‘OFF’ button will warn the user before removing power, as shown.

Provided that the unit has been operating for at least six seconds (enough time for the RISC OS desktop to start), the ‘off’ button will pull GPIO 26 low but do nothing else. The software will notice this, complete any logging and then do a system shutdown using the command SYS "TaskManager_Shutdown",162 which will shutdown all applications tidily and restart RISC OS. The effect of this is to update the CMOS ‘last time on’ setting and restart the ROM. As the ROM reinitialises, GPIO 4 becomes high impedance thus removing power.

Software update

A specially prepared USB pen drive may be used to update the software automatically or to extract archived data, but this is not a routine operation.

Silent errors

With a monitor using the HDMI output to display a desktop, any error that might be generated can be recorded, with its line number, and investigated. It is very frustrating to see the software ‘freeze’ and realise that an error message is being displayed but cannot be seen. If you simply plug in an HDMI display at that point, the computer will not send data to it as the HDMI system is not powered up. I therefore added an error display to the OLED drivers.

The finished unit clamps to a steel surface:

The finished unit.

No comments in forum

Categories: RISC OS

October News Headlines

The Iconbar - Wed, 10/31/2018 - 12:30
Some things we noticed this month. What did you see?

R-Comp released a 6th version of their Monitor software, offering more screen modes for Titanium.

RISC OS Developments acquire Castle Technology. Expect lots of speculation on the Internet and some hard facts at the London Show.

Interesting article on Reading Manga on RISC OS on RISC OS blog.

The 10th London show. Read our report.

No comments in forum

Categories: RISC OS

Subscribe to Spellings.net aggregator - RISC OS