I’m currently building a design on the STM32F7 which I want to later port to a F4-NUCLEO board and eventually my own design so I want to test the USB host without the supplied electronics.
In order to do this I built a small USB breakout adapter and tried directly connecting this to 5V (for power) and PA11/PA12 (for USB). The breakout was made by simply soldering some header pins to a USB socket.
I then attached the USB socket to CN12 as shown below.
I recently purchased a STM32F7 Nucleo boards to play around with Chibios. These boards feature a integrated STlink debugger, I however do most of my development using a custom built debugger based on the blackmagic probe. This has the advantage of being easily connectable to GDB via emulating gdbserver on it’s virtual serial port.
Unfortunately there doesn’t look like there is a documented way of connecting a 3rd party debugger to the Nucleo board but reading the schematics showed an answer in the form of the CN4 jumper block.
In order to connect a the black magic probe to the Nucleo board simply remove the jumpers from CN4 on the ST-Link . You can then access the SWDIO pins on the main MCU as shown in the list below.
You will also need to connect the ground pin of the blackmagic probe to a ground pin on the Nucleo board (I used one of the ground pins which have jumpers on them which are used for feet on the board.
I’be been using a Raspberry PI with a DVB-T2 card so we can stream TV to our PCs and tablets around the house. As the PI sometimes crashes I’ve wanted to make it work with passive POE, I’ve also wanted to put it in a box.
So I’ve built a box which has a barrel connector for my POE adaptor cables. The box also has a DC/DC converter to convert the 12V-24V I’m using in my server cabinet to the 5V required for the Raspberry PI.
As there wasn’t room in the box to have a lead going from the USB power socket on the PI i decided to feed power in via the expansion connector (i also didn’t have many spare USB cables). Unfortunately this has the disadvantage of bypassing the poly fuse which protects the PI so I will probably add my own at a later date.
So I’m currently going through my periodic phase of being addicted to KSP. This time I’ve been using the USI Lifesupport mod ( https://github.com/BobPalmer/USI-LS/wiki ) to make things a bit challenging. This mod requires you to keep your Kerbels supplied with food and have enough space to wander around if they are stuck somewhere for a long time.
The current mission which i’m working on is Duna 1, my first mission to Duna (KSP equivalent of mars).
On Sunday my usual glider the ASK21 wasn’t available so I flew the clubs Grob for the first time. This was interesting as the Grob is a lot less forgiving of uncoordinated (flying without using the rudder correctly) flight then the ASK-21. It really highlighted that I’ve started to develop a habit where the first thing I drop in high concentration situations is my rudder control.
Even though my rudder control caused me lot’s of problem I still covered quite a lot flying the Grob. The aircraft is much less placid then the ASK21 which was really interesting when I practised stalling it. I found it to have a much more obvious buffeting which was interesting.
I also made lots of progress with taking of on the winch which was welcome as I haven’t been able to practice this for a few weeks due to the club winch being out of action. The highlight being my first couple of launches where I correctly flew the whole of the launch on my own!
Outside of real world aviation I’ve also bought some new Saitek rudder pedal’s for my PC. I think having pedals is even more important when you fly real aircraft as well as simulators and will hopefully get me more into the habit of using the rudder more when I fly in real life. I’ve also been playing around with trying to stall and spin various aircraft in X-Plane and DCS. It’s been particularly interesting with DCS’ F86 as this really shows up the affects of high G on stalling speed. While stalling the F86 I managed to get it to stall where the wing drops and it goest into a dive. Recovering from this was really difficult and I crashed the aircraft into the ground quite a few times.
So after a work trip to a local gliding club I ended up enjoying it so much I decided to learn to fly gliders. It’s been going really well for the last couple of months and last Sunday I did my first landing with me operating all the controls (my instructors have been using the airbrake to control the descent rate for my earlier landings). I’ve also been experimenting with recording my flight logs so I can see where I’ve been flying and generally get a better idea of how to improve my circuits (basically the path you have to fly to perform a landing). So after using a program called gpsvisualizer I made a track of my last flight on Sunday.
I also took a picture of the instrument panel on one of the clubs ASK21’s that I fly:
As you can see there’s a lot less instruments then you see on powered aircraft. We also have a device call a variometer instead of a vertical speed indicator. The variometer is designed to show if you are climbing or sinking due to atmospheric effects such as thermals. The other instrument that is rarer is the G meter which is one with the 3 dials next to the altimeter. This is needed as most gliders are certified for acrobatic flight and I’ve already experienced pulling about 3Gs from flying a fast turn when we had some altitude to burn off.
So I’ve finally defeated the Eye of Cthulu in Terraria and I’m now starting to be a lot stronger. I also used explosives to destroy a couple of shadow orbs and caused a meteor to crash (which I mined). So I now have a space gun and better armor. Now the next step will be trying to kill the eater of worlds.
So I’ve recently been playing about with Android for ‘Not So Super Secret Startup Idea’ and needed some code to communicate data such as Phone Calls/Text messages and other things from my phone to another device using TCP/IP. This is a bit harder on Android then it is on a PC as Android is bassed on apps having something called Activities and Services.
An Activity is the part of the Application which handles user input and can be destroyed at any time by the OS. This makes it pretty much useless for running anything which will communicate with the outside world without user intervention.
The other part part of an Android app is called a service which can be used to perform tasks in the background, process events from Activities, etc.
So what I currently have is an Android app which has a Service to handle TCP/IP communications from a telnet client on a PC. The service will also send data such as GPS location, phone calls and text messages (currently work in progress) over the socket to the PC.
One problem with the default TCP/IP functions is that they block (do not return until the right amount of data is received). I choose to use threads to handle blocking I/O and post Intents (a form of IPC) to the main activity to update it’s UI.
There is however one problem with using Threads in that when the Service is stopped there is no clean way to Kill a thread. This can be gotten around by closing the socket and setting a variable inside the threads main loop to tell it that it needs to shutdown cleanly.
So here’s some quick and dirty code which output’s GPS location and the phone no. of any calls received to a socket:
A few months ago I saw that the London Transport measeum where offering tours of Awdych tube station so I managed to book me and S a couple of tickets before they sold out.
Awdych is one of the many abandoned tube stations on the London Underground network and which you don’t often get the chance to visit.
The tour started at the booking hall where we were told about the stations history and ultimate downfall. We then descended the 120 stairs down to the bottom of the lift shaft. We then looked around the lift shafts before proceeding to the platform level and the first of the platforms at the station.
We also saw the second platform which was used as a storage area for actifacts during the war, had a look at the tunnels beyond the station (to protect against trains missing the station from derailing). We then finally saw some of the unfineshed tunnels from the lift to the platform.