3rd pump’s the charm

So I picked up a Bosch 044 fuel pump for a song, and decided to get rid of my Fuelab Prodigy pump. I almost wrote about the Fuelab install, but since I intended on replacing it, it wasn’t worth it. It was just too much for my vehicle, even at my target boost levels.

The Fuelab pump was brushless, and so was very picky about voltage. It was unusable during cranking due to a large voltage drop because of my small battery. So I had to add in a check valve, which helped, but I still needed to do a ten-fold increase in my cranking pulsewidth calculations. Then there was the speed control wiring. It was too much ‘because racecar’, so I decided to swap to the Bosch when offered.

To my surprise it came with a check valve integrated in to a type of banjo fitting. But, since I already added a check valve closer to the fuel rail, this would be redundant. Also, banjo fittings flow poorly.

A couple of new fittings and moving the mounting brackets over a bit was all it took to get it installed. Note all the holes for all the difference bracket configurations on my mounting plate. Heh.

Find videos by FPS

I produced some videos in 60 FPS, but couldn’t remember which ones. Since, of course, I didn’t label their FPS at the time, I needed to find them in vast sea of 30 FPS videos. Rather than just use a simple grep with ffmpeg to find which ones, I thought it might be more useful to find all videos that have a certain FPS threshold.

Usage: ./60fps.sh [directory]

#!/bin/bash

SAVEIFS=$IFS
IFS=$'\n'

function fpscheck
{
  FPS=$(ffmpeg -i "$1" 2>&1 | egrep -o '([0-9]*[.])?[0-9]+ fps' | egrep -o '([0-9]*[.])?[0-9]+')
  if [ $? -eq 0 ]
  then
    TEST=$(echo "$FPS"'>'50 | bc -l)

    if [ "$TEST" -eq 1 ]
    then
      echo "$FPS: $1"
#    else
#      echo "$FPS: $1"
    fi
#  else
#    echo "Could not get fps from: $1" >&2
  fi
}

for FILE in $(find "$1" -type f -name '*')
do
#  echo "trying: $FILE..."
  fpscheck "$FILE"
done

IFS=$SAVEIFS

If I thought I’d use it more, I’d move the hardcoded FPS test value to an optional argument for the script. Instead, I’ll leave that as an exercise for the reader.

Msqur 1.0 released

As mentioned previously, I wanted to open the source to msqur up and put development on the backburner. I have added an appropriate license for it (although I do need to add library licenses/notices in there as well). It is now GPL licensed, and I have made the repository public.

Some things I added:

  • Added basic charts for the 2D tables
  • Added table header text to tables
  • Added reingest script to allow for easier MSQ cache updates
  • Fixed some of the documentation up

Known issues, mostly the same as before:

  • MS3 file support is poor
  • Constants are just blurted out without any organization
  • INI Parsing of formulas and directives not implemented yet
  • API documentation is still in infancy

I want to move on to other projects, but I may come back from time to time to update things. I intend for the near future, at least, to leave msqur.com up and keep it updated.

Oculus Rift and Touch

I’m super excited for the imminent onslaught of consumer grade VR equipment and game support. I think it will change how games are played from now on. Not all games, mind you, it takes a certain level of involvement to strap on a head-mounted display and get into the experience. The military already uses similar technology extensively for training. It’s just a matter of months before equipment hits shelves.

That said, there’s a serious problem with it already. When you strap on a VR headset, your mouse and keyboard disappear. They seem antiquated as you tilt and peak below the headset to find the right keys. HIDs are going to need a total revamp to work well with head mounted VR.

Enter the Oculus Touch. Basically two Wii motion controllers. It makes sense. I can’t say it’s the best solution, because no one really knows what is (well, aside from 100% perfect hand and finger motion tracking without any device attached). It’s a great start, and I can see it working well.

via Engadget

For example, one thing I’m really excited for is VR support in my favorite flight combat sim, Eagle Dynamic’s DCS. I’ve seen some footage of the Oculus in use with it, and I’ve used the Oculus DK2 for development and with other games. But DCS has some serious keyboard use involved when playing. Even if you have a nice HOTAS, you can’t map all functions down to the toggle switches and buttons. And even then, you have to know it by feel. What DCS does offer (somewhat uniquely, if I’m not mistaken), is the ability to use in cockpit (on-screen) controls–currently with the mouse.

The new Oculus Touch should be able to handle that. Reach out and you see a hand reach out on screen. Move your hand over to the landing gear switch and press a button. How’s that for integration? This isn’t anything new, the technology’s been around for years now but no one’s made a solid controller for the PC, nor has any game I’m aware of supported it.

I was already excited for Oculus (and other VR HMDs). First-person shooters are also about to see a big change. The current heavy reliance on mouse input for looking and keyboard input for moving makes a lot of FPSs all about mouse/keyboard coordination. HMDs will allow a more realistic experience–if that’s what’s desired. For me, I’m more about the simulation than kill counts (or “360 no scopes”) so I can’t wait.

Msqur Update v0.72b

I dug in this past weekend and updated a few things:

  • INI Parsing revamp. Support for more tables and curves.
  • UI Update so that all this new information is somewhat organized
  • A few minor bug fixes and enhancements

Known issues:

  • MS3 file support is poor
  • Constants are just blurted out without any organization
  • INI Parsing of formulas and directives not implemented yet

I plan on opening the source code up under some kind of OSS license, after fixing a few more issues and updating the documentation.

Action Camera Review: Garmin Virb Elite

After seeing a fellow MSNE autocrosser post a video with nice data overlays, I asked what datalogger and software he used. It turns out it wasn’t just a data logger, it was a camera that gathered his speed, acceleration, and so on for him. It was the Garmin Virb Elite. The ‘Elite’ part signifying the difference between the non-sensor, data-less variant.

I’d never heard of it, and I thought I kept at least a cursory eye on the action camera market. I was familiar but not impressed with GoPro’s Hero line (and always confused about which version had what features). The Hero prices always seemed steep for what they were. I’d talked with other autocrosser’s about their cameras. I’d looked at the Sonys, the knock-offs, and the half-way knock-offs. But then again, I’d never actually bought a real action camera, and am definitely not a professional video producer. I am decently savvy enough with technology though.

So, I immediately looked it up. $260 on Amazon at the time (more on that later). Good reviews. I read review sites. A couple days of contemplation later, and I decided, “Hell, it’s a good starter camera at worst.”, and bought one. Another couple of days later and I’m happy to say I am thoroughly impressed.

So, let me quickly point out some pros and cons that mattered or were interesting to me:

Pros:

  • Records 720p60, 1080p30 and lower. That’s about as far as my video cares go.
  • Wireless control via phone app (iOS & Android)
  • Easy record/off slider (glove-friendly), with LED feedback
  • Onboard LCD viewfinder (unbacklit)
  • Wireless viewfinder
  • GoPro mount adapter (to use GoPro accessories)
  • Long battery life
  • GPS, Accelerometer datalogging to GPX (XML) format (non-proprietary)
  • Decent video editing software at no extra cost
  • Can do dash-cam duty (overwrite oldest recordings)
  • Can invert video by 180° via setting

Cons:

  • No suction cup mount
  • No tripod mount (1/4″-20 threaded hole)

For another $5 or so, you can purchase a tripod mount on Amazon, so it’s no big deal. It still would have been nice to have one in the box anyway.

What sealed the deal for me was the sensor data, and the GPX output format. It just so happens the post-production video software I use, RaceRender, handles GPX. This is in addition to the MSL (MegaSquirt log file) format. So, I can get RPM, boost level, and throttle position from MSL, and combine it with speed, and G-force from the camera. Cool! That’s a lot of data, more than I can display in the video frame at one time.

Referral link:

Msqur Update v0.60b

A little while ago I updated msqur.com to 0.60b. Changes include:

  • Added engine make/code fields for uploads
  • Added view count and increment

And less visibly:

  • Finished OO refactor
  • Update API documentation (not public yet)
  • Added deployment scripts

I still haven’t finished INI file parsing 100%. There’s a bit more to do, but I’ve been busy with work and other projects. I’m thinking of releasing the project under an appropriate open-source license once I finish that, so hopefully others can join in on the fun.

On Properly Setting Your Cooling Fan Temperature Threshold

When I first installed an aftermarket ECU (Megasquirt I) in my 1984 300ZX, years ago (almost 10 as of this writing!), I used the recommended GM sensor for coolant temperature. It required a bit of machining to fit the sensor, nothing major.

With my latest engine (and the two cars it was in), I decided to use the OEM Cylinder Head Temperature Sensor, since hey, why not? It was already there, in an optimal spot. All I had to do was make software changes to calibrate MS-II to it’s temperature/resistance curve. I had the data in the Factory Service Manual, all was well. Continue reading