Flotilla without PI on Windows or QEMU Virtual Machine

I am hardly waiting to get my Mega Treasure pack.

Before I get the pack I would like to prepare everything so it will work when it comes. Because I do not have Raspberry PI yet, I am wondering if it is possible to use Flotilla without PI.

Does it work if you connect it directly to a laptop running Windows? If not, do you plan to provide support (drivers) for that in the future?

If this is not working directly I am wondering if it would work if I use QEMU (http://raspberrypimaker.com/emulate-the-raspberry-pi-in-windows-for-free/) to emulate PI on Windows.

ā€¦ not yet, but Windows and Mac OS X support are planned (and likely not that far away).

Itā€™s probably worth asking again when you get your kit, if not already public I would think there will be a possibility to preview/test where itā€™s at for those platforms at that point!

Ok. Thank you for your quick reply.

Right now itā€™s working for me on Windows extremely well, but making it work on my local machine(s) and getting it into a state where it can be deployed for other people to try are two different things. ( Windows software development and deployment is a whole new ballpark for me, Iā€™ve only ever thrown together shoddy VB apps back when Windows 98 and XP were still in vogue ).

Keep in touch if youā€™re willing to try out some pre-release software, though, since it will be potentially very helpful to get some feedback from Windows users.

For the time being, itā€™d be useful to know what version of Windows youā€™re running.

Of course I can do some testing of pre-release software. I am a software developer (.Net) and understand your concerns about having a version that works for you but is not good enough for general public.

Deploying software on Windows can be tricky. I am using a third party software to create my installers. But it is quite expansive. For you it might be enough to use the free tools that are available for Visual Studio 2015 Community edition (also free) - for example: Microsoft Visual Studio 2015 Installer Projects (https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9). You might also try to use the InstallShield Limited Edition (ISLE) but it might need the professional version of Visual Studio (or Visual Studio 2013 Community Edition).

If this would take to much time or the free products do not have all the features that you need, you might just pack everything into zip and write a detailed instruction on how to manually install that on Windows. I think that most of the users would be happy with that (at least for the first version).

Once I get the package I can test on Windows 8.1 64 bit laptop, Windows 10 64 bit desktop and very old Windows 7 32 bit laptop :) I can also test a pre-release installer if you want.

I donā€™t think the main concern is so much stringing a MSI together as general QA. If youā€™re up to test a pre-release then thatā€™s half the concern gone.

General QA is definitely a problem. Linux remains ( fairly ) standard between distributions on the Pi, and for desktop Linuxā€¦ well thatā€™s an advanced use case, and the Daemon source code is freely available and easy to compile ( none of those build systems that drive me crazy ).

Windows, however, is still pretty fragmented between 64 and 32bit and Windows 7, 8 and 10- and probably older versions too which we might have to draw the line at excluding for our own sanity. But weā€™ll see!

I was a .NET developer once upon a time, and Iā€™m really appreciating Visual Studio at the moment since itā€™s keeping all of my development environment under one OS so I can progress the Dock Firmware, Daemon and Rockpool all together without switching between multiple platforms.

Right now, you can even download the source and more or less build it yourself by installing Boost and Websocketpp in NuGet ( I think theyā€™ll auto recover and hopefully not implode ). The tricky part is libserialport which requires Msys2/Msys64 to compile, although I see no reason why a small effort couldnā€™t get it working in Visual Studio too.

Anyway Iā€™m rabbiting on! Latest source is in this branch: https://github.com/pimoroni/flotilla-daemon-vs/tree/ship

So any hints on how to compile the daemon for other distros?

Im trying to compile it for Fedora but got into a few issues (g++ 5.3 is more exigent I guess)

Flotilla_Dock.cpp:144:21: error: ā€˜SP_MODE_READ_WRITEā€™ was not declared in this scope
if (sp_open(port, SP_MODE_READ_WRITE) == SP_OK){

Woops, that last error is becuase I had an old libserialport :D

After updating my lib, I get like another hundred errors :/

Iā€™m guessing those are linker errors, which Makefile are you using? I managed to get it building under Ubuntu 16.x but not without ( and for reasons I canā€™t explain ) swapping the order of the object files with the linker flags.

Thanks for the quick answer, actually It was (again Ā¬_Ā¬) some libs not being well updated.

After that it compiled perfectly, thought I was missing one lib for flotilla daemon to work, strange enough.

oh well, working now!

1 Like

Note, the latest source wont work with your Dock, but if you want to install dfu-programmer and follow some instructions to update your firmware and use the latest version of Flotilla Rockpool then you can experienceā€¦ Flotilla II Turbo: Fast As Ship Edition.

Sorry, Iā€™ll get my coat.

I can explain why.
If you donā€™t link the object files first, the linker doesnā€™t know which symbols it needs to link from static libraries.
When it links the object files it builds a table of missing symbols and only links modules from the libraries which contain symbols in this list, rather than linking the whole static library into the executable which would be wasteful.

I found exactly the same and Iā€™ve posted full instructions for building on Ubuntu on my blog, linked in a separate topic in this forum.

Cheers,

Stephen

I tried to compile the deamon for Windows in Visual Studio 2015.

I got the source and Visual Studio has downloaded all the packages.
Then I got some missing .h files error. I was able to fix that with updating the path in ā€œProject Properties -> General Properties -> VC++ Directoriesā€.

But then I was stuck with libserialport. I got the following error: "cannot open file "libserialport.dll.a"
I have updated the ā€œLinker -> General -> Additional Library Directoriesā€ path and tried to change the ā€œ'libserialport.dll.aā€ into ā€œlibserial_0.dllā€ (that comes with the source). But this did not help. I clearly am a noob when it comes to c++.

Then I tried to compile the libserialport. As you said this requires the Msys2/Msys64 to compile. I tried to install it but then given up when the ā€œWin-buildsā€ installer application was started.

Compiling deamon looks so easy on Linux. But on Windows it would be much more handy to have already compiled binaries :)

Hi, Iā€™d be interested in trying out Windows Software, Iā€™m running Windows 10.
Thanks

Compiling for Windows is definitely easier said than done, but weā€™ll have a binary for Flotilla Daemon in the pre-release. However we wonā€™t be properly supporting it for a while, since we just donā€™t have the manpower. Expect Windows/OSX to be a second-class citizen to Raspberry Pi until the Flotilla software stabilizes.

Great. Thank you.
I fully understand that PI has priority.

Iā€™d be happy to testdrive a build for Win10. My kit just arrived today and I would be happy if I could tinker some stuff via my laptop.