2018-12-16

Mysterious crash

Project history

  1. Previous project: LPG/CNG Price Reporter
  2. last step: Android App for Blackmagic Pocket Cinema Camera 4K
  3. current posting
  4. next step: New BMPCC4K firmware
  5. Next project: designing a chain link tool library

The BMPC4K app I wrote has exactly 1 crash on 2 devices in Play Store.
However I'm completely puzzled by the stacktrace.
It's not made easier by the fact that I can't reproduct the crash since it happens on 2 user's phones that I have no access to.

All my own code is in the biz.wolschon... -packages.
This crash is entirely in the Wear OS library by Google.
I'm using
implementation 'com.google.android.gms:play-services-wearable:16.0.1'

16.0.1 is indeed the latest and greatest version available at this time.
Since Google has obfuscated it's libraries, a search for other people with this issue in that line of code turns up nothing.

It seems to happen at Fragment -creation time. However I'm not using any fragments from GMS. At least I'm not aware of any.
All I can try is to move from the support library 27.1.1 to 28.0.0 with a 28 target SDK. This mandates some unrelated changes. None of them look like they should affect me.

Update: I just came back, tested that the new, public beta version works and uploaded it to Play Store. Let's see if the crash still happens and if so, something shows up in the Stacktrace that hints to a cause this time.

 Links:

2018-12-14

LPG Preismelder Android app updated again

Project history

  1. Previous project: none
  2. last step: LPG Preismelder Android app updated
  3. current posting
  4. next step: none
  5. Next project: Android App for Blackmagic Pocket Cinema Camera 4K

Android 9 will no longer allow unencrypted HTTP communication.
So I had to pull out my old "LPG Preismelder" fuel station app for GPL and CNG fuel stations in Europe.
It is a simple app. It still works fine.
However nowadays Google Play Store no longer allows the old target SDK
and Android Studio does't like the old Build Tools.
So I had to update them and consequently add support for permissions that are no longer granted at download-time.
Also the Google Maps API has changed a lot and it is no longer possible to just ask the Map-Fragment for the map and perform updates (e.g. set the location). All this now has to be done asynchronously.

This did introduce a small number of crashes for rare cases, thus ruining my "max 1 crash per year at 1000 users" record.

Links:

  • App on Google Play

2018-12-12

Rotacy CNC: That damn earthing again

Project history

  1. Previous project: TravelCNC
  2. previous step: Problem with optical input switches
  3. current posting
  4. next step
  5. Next project: designing a chain link tool library

When I assembled my newest DIY CNC mill on a piece of wooden OSB board... what could you possibly forget?
Right.
Wood is not conductive.

Everyhing is build super clean.
Crimped using the proper tools.
Signal power and signal ground distributed using proper DIN rail blocks.
Stepper drivers stronger then the actual power supply, steppers and forces needed.
...
Strangely enough I machined an entire part in perfect finish for a week before any issues showed up.
Then the A axis stepper starting moving on it's own and jittering. But only it it had already moved before. Not related to the spindle running or not.

Problem 1: wrong power supply

I had way too much power provided to my stepper drivers.
48V supply because the drivers where advertises as 8-50V input voltage.
Actually however where 8-42V with 50V being the absolute maximum rating.
The dealer overstated the capabilities of the driver.

Problem 2: Earthing

This did not solve my problem.
It needed a borrowed oscilloscope to figure out that I simply forgot to connect my giant A-axis gear box, sitting on the OSB base-plate to PE.
The power supplies (not the spindle) for the strong steppers seem to radiate a ton of EMI into the huge metal block that is the A axis. Static buildup from the gears inside and from machining plastic for days on end surely did not help either.
Since the power flowing from the motor to the motor driver caused the "work" LED on the driver to blink, I searched for hours where the supposed stray inputs to the driver came from. Not realizing that this came from the output of the drivers and not the inputs.

I had the same issues already with my Chinese 6040 CNC (all Aluminium but designed with no regard to earthing large metal parts and thus the steppers they connect to).
Seems I had to learn that lesson again.

Parts used

2018-12-03

Rant about the 8Sinn cage for the BMPCC4K

I just wrote the following feedback to the very expensive 8Sinn cage for the Blackmagic Pocket Cinema Camera 4K:

I have your Blackmagic Pocket Cinema Camera 4K -cage.
There are 3 features you should definately improve:

1: Access to the locking power socket is nearly inpossible.
Getting your fingers in there is a nightmare even without fighting the cover doors.

2: The cable strain-relieve for the USB-port does not open wide enough to allow
the cable that comes with the Samsung T5 to fit and the expensive Samsung T5
holder did not come with a cable that does.

3: The allen key(s) has no place to store it in the cage itselt.
So it's always missing.
I can't mount my T5 SSD becaue I only have the caged camera with me.
The cable stress relieve on the T5-holder can not be opened without
and it's comes tighened from the factory.
This step should be possible, if not trivial, without easy-to-loose tools.
What's the point of having nice, machined handles if you need an allen
key anyway?
At the very least a laser-marking what size of tool one needs to send
someone to buy for the next day of shooting would have helped.

Also:
The cage uses 2 sizes of allen key.
However the SSD holder uses a THIRD size for no obvious reason.
The smaller size, already used in the cage looks like it would have worked just fine
without adding an additional, easy to loose, tool to the mix.


Also:
A second hot shoe (maybe as part of the SSD-holder) would be nice,
so I can mount my microphone while having the SSD semi-permanently attached.
(Of cause I can screw in an additional hot shoe. But it would have been nice if this
was something that just works out of the box.)