Still Life in Green and Black

green-black

35mm, 27mm, 24mm and 19mm Tele Vue Panoptics, currently the physically largest eyepieces I have, next to a 5mm Baader Genuine Ortho. And something Green and Black for scale…

Posted in Astro Equipment, Astronomy | Tagged | Leave a comment

Separated at birth?

I’ve just watched the Horizon programme from a week or so back — “Is your brain male or female?” presented by Michael Moseley and Alice Roberts. My enjoyment of it was somewhat curtailed however because of Alice Roberts’ uncanny similarity in appearance, mannerisms and speech patterns to Victoria Coren-Mitchell. I have absolutely no objection to either of them. Quite the opposite in fact: it’s always a pleasure to hear or read what they have to say, but it’s quite odd when your brain keeps telling you it’s the wrong person.

poker-facebone-head

Posted in Random | 5 Comments

libudev to the rescue!

Well, on Linux at least, for the moment…

Some time ago when I was writing part of oaCapture I wanted to be able to tell whether the currently connected camera was a Philips SPC900. Ideally, given that I knew, say, that I was communicating via /dev/video0 I wanted to be able to find out what USB vendor id and product id were associated with the USB device (if any) connected to to /dev/video0 and see if they were the values for the SPC900.

I couldn’t work out how to do that, so in the end I opted for an ugly “solution” where I found the name of the camera and compared it with a suitable string. Clearly that’s not great because the string may well not be exactly identical in all versions of the camera and/or firmware.

I’ve now got to the point where I’m trying to add filter wheel support. I have a Xagyl FW5125 USB filter wheel and I found myself in a similar, but even more awkward, position. I know the filter wheel will show up on Linux as /dev/ttyUSBn where n will depend on how many other USB serial devices there are on the system and in what order they were initialised. I also know the VID/PID and serial number for the filter wheel. The question is, given one, how do I find the other to see if I have the right device and not some other USB serial hardware with an FTDI (as that’s what it uses) chipset?

The force was strong in me this time however and I discovered some information on libudev which can traverse the Linux sysfs filesystem and drag all sorts of useful data back out of it. In this case for me it meant that I could look at all the serial/tty devices, find which of them were on a USB bus and then look at the vendor id, product id and serial number to see if I had the right one, and find the device name under /dev used to communicate with it. Everything I could have wanted, and more!

The code looks something like this:

{
  struct udev* udev;
  struct udev_enumerate* enumerate;
  struct udev_list_entry* devices;
  struct udev_list_entry* dev_list_entry;
  struct udev_device* dev;
  const char* serialNo;
  const char* path;
  const char* deviceNode;
  const char* vid;
  const char* pid;

  if (!( udev = udev_new())) {
    fprintf ( stderr, "can't get connection to udev\n" );
    return -1;
  }

  enumerate = udev_enumerate_new ( udev );
  udev_enumerate_add_match_subsystem ( enumerate, "tty" );
  udev_enumerate_scan_devices ( enumerate );
  devices = udev_enumerate_get_list_entry ( enumerate );
  udev_list_entry_foreach ( dev_list_entry, devices ) {

    path = udev_list_entry_get_name ( dev_list_entry );
    dev = udev_device_new_from_syspath ( udev, path );
    deviceNode = udev_device_get_devnode ( dev );

    if (( dev = udev_device_get_parent_with_subsystem_devtype ( dev, "usb",
        "usb_device" ))) {
      vid = udev_device_get_sysattr_value ( dev, "idVendor" );
      pid = udev_device_get_sysattr_value ( dev, "idProduct" );
      if ( !strcmp ( "0403", vid ) && !strcmp ( "6001", pid )) {
        serialNo = udev_device_get_sysattr_value ( dev, "serial" );
        if ( !strcmp ( serialNo, "A4008T44" )) {
          // I have my filter wheel...
        }
      }
    }
    udev_device_unref ( dev );
  }
  udev_enumerate_unref ( enumerate );
  udev_unref ( udev );

  return 0;
}

At the time the filter wheel is identifed, deviceNode contains the path of the character device required to communicate with it (eg. /dev/ttyUSB1).

Now I just have to work out how I’m going to do that on OSX 🙂

Posted in Astronomy, Computing, Linux | Tagged , | 1 Comment

Astro EQ conversion of EQ3-2 (part 4)

My new drills have arrived and I’ve now drilled all the holes for the RA motor mount. It looks a bit like a Swiss cheese. This is the “outside” face, with holes for the motor flange, the four mounting screws, the RJ11 socket for the motor cable, one for a cable tie to keep the wiring neat and an access hole for fitting the motor mount to the telescope mount.

ra-motor-01

The face that fits against the mount has access holes for reaching the motor mounting screws and a large one to make sure there is clearance for the pulley.

ra-motor-02

In fact, having fitted the motor I didn’t actually need the clearance hole, though there’s not a huge amount of space between the face of the pulley and the aluminium channel.

I filed a flat on the end of the motor output shaft for the pulley grub screw to bear on, fitted the pulley and drew the wires through some heat-shrink (as yet unshrunk) to keep them neat.

ra-motor-03

The last step for this motor is to solder the motor wires to the RJ11 socket, after which the entire unit can be fitted to back to the mount.

Posted in Astro Equipment, Astronomy, Projects | Tagged , | 4 Comments

Astro EQ conversion of EQ3-2 (part 3)

My pulleys and drive belts arrived today.

I removed the grub screws and drilled out the 48-tooth pulleys to 6mm (from 5mm) in the lathe to fit the worm spindles and the 16-tooth pulleys to 5mm (from 3mm) to fit the stepper motors. I chose to use the lathe rather than the pillar drill purely to give me a better chance of keeping the bores central. Unfortunately that’s pretty much all I can do for now, though the stepper motor spindles don’t have a flat so I may need to grind one for the grub screw to bear on if it doesn’t work without.

I need to cut a 22mm hole in the mounting brackets for the motor body to sit in, but that will be much easier to do with a 22mm drill in the pillar drill rather than trying to centre an oddly-shaped piece of material in the lathe, taking it out to about 18mm with a drill and then boring the hole out the rest of the way.

I don’t have a 22mm drill bit at the moment, but one is on order. As soon as I have that I can get on with cutting those holes, drilling the mounting brackets for the motor mounting screws and assembling all the parts. After that I think it’s just cabling that will be left.

Posted in Astro Equipment, Astronomy, Projects | Tagged , | Leave a comment

A new scope arrives

No pictures yet, but last week a new telescope arrived. I’ve been promising myself an MN190 for some time if one came up second hand at a fair price and took the opportunity when it did having passed on several others over the last year or two.

Very much looking forward to imaging with it once I get the observatory set up, hopefully this autumn.

Posted in Astro Equipment, Astronomy | Tagged , | Leave a comment

Debugging FireWire on recent Linux kernels

As part of the development of my planetary capture software I’ve been trying to sort out some problems with IIDC FireWire cameras. They’re not easy to get hold of these days. At least, not at “spare change” kinds of prices. But eventually I managed to get hold of one from Ebay. It’s a camera that was sold by D-Link, but in fact is a rebadged TI MC680-DCC.

Unfortunately I couldn’t get it to work at all, and despite claims in the system logs that the “fw1” device was being created, it never seemed to appear. I checked with another FireWire device (a digital video camera) that the OS and FireWire card appeared to be working, so it looked like a camera issue. Unfortunately whilst there are some links to FireWire debugging tools to be found via Google, many of them don’t appear to work with the newer (post 2.6.37-ish) kernels.

Eventually I found a couple of things that have been very helpful. The first is “jujuutils”. The most recent version I can find is on Google Code. This package includes executables to list the devices found on the FireWire bus.

The second is actually present in jujuutils, but I found a different version elsewhere that appears to be more recent. CRPP is “Configuration ROM Pretty Printer”. It takes the output from dmesg as written by the firewire_ohci module when debug is enabled and prints the results in a more human-readable form.

CRPP enabled me to discover that when queried at the slowest bus speed my camera claims to have a GUID of 0800286010000000, but the same request when configured at 400Mb/s returns a GUID of 0800286000000000. The only reference I can find on Google suggests that the GUID should in fact be 0800286000000073. CRPP also complains that the CRCs on the control block leaves are invalid 🙁

Unless this is some sort of artefact of my FireWire card taking power only from the PCI bus as opposed to having an external power connector direct from the PSU, I think that probably means my camera is toast 🙁

Posted in Computing, Linux | Leave a comment

Resolved: Mythbuntu manual shutdown

The last remaining issue I’ve had since my Mythbuntu upgrade a few days ago was that when the “exit and shutdown” option was selected from the frontends, nothing happened. This had worked without a problem on previous installs.

I have now tracked this down to needing to set the halt/shutdown command in the general settings for each frontend. I now have this configured as:

sudo /sbin/halt -p

It’s also necessary to configure sudo to allow this to run by adding the following to /etc/sudoers:

%mythtv ALL = NOPASSWD: /sbin/halt

And now everything is back as it was.

Posted in Computing, MythTV | Leave a comment

Coronado PST filter mod for Atik 314L+

In my previous posting about the mod I’ve done for my PST to move the BF5 closer to the sensor of my ASI120 I had an idea about doing the same for my Atik 314L+. I know this camera is sometimes used for imaging with a PST and whilst it is somewhat slower downloading images, it does have the advantage of being able to get the entire disc on a single frame which I can’t do any other way at the moment.

So, despite not having tested the existing mod yet I felt the need to play with the lathe some more this weekend and produced this:

pst-atik-01

Basically it’s a T2 to 1.25″ adaptor with a an internal recess to take the BF5 unit. It’s the first time I’ve cut a male thread with a thread-cutting tool and I have to say it was far from easy. Female threads (such as that I turned in the barrel part so the inside isn’t smooth to reduce reflections) I don’t seem to have a major issue with, but this one took ages to do and whilst it works, I reckon it could be far better.

The BF5 unit just pushes into the back:

pst-atik-02

And then the whole thing screws into the camera:

pst-atik-03

I made the T2 thread long enough that it will also work with the ASI120.

Now I’m going to have to have a think about setting up to do some anodising…

Posted in Astro Equipment, Astronomy, Projects | Tagged , | Leave a comment

Coronado PST BF5 positioning mod

A few days ago I posted about the problems with vignetting when imaging with a PST and decided that for me a solution might be to move the BF5 unit as close to the camera sensor as possible so that the light code is as small as possible when it reaches the filter. To that ends I completely stripped apart the eyepiece holder and pushed the BF5 unit out of the eyepiece:

pst-filter-mod-01

(In fact, this is one unit assembled from the best parts of two as some of the parts were very poorly-made as I’ve also already posted about.)

I stripped everything off the front of my ASI120MM so that the filter would be able to fit right in front of the sensor:

pst-filter-mod-02

The filter unit rests on the front of the camera body nicely, but needs to be kept central, so I turned an aluminium spacer to fit over the top of the filter body, leaving the flange on the back resting against the spacer:

pst-filter-mod-03

pst-filter-mod-04

The outer diameter of the spacer was made to fit snugly inside the back of the T2 to 1.25″ nosepiece that goes on the front of the camera:

pst-filter-mod-05

So now, when the nosepiece is screwed on the filter is trapped centrally in front of the sensor between the nosepiece and the camera body:

pst-filter-mod-06

The camera now goes into the top of the reassembled eyepiece holder just as it used to, but only the ITF is present now.

I hope this should massively reduce the vignetting effects for me. I haven’t yet had the courage to drill the retaining ring out to 5.5 or even 6mm, but that may come if I’m not satisfied with the result. Unfortunately it looks like there’s not going to be much chance to test it in the near future if the weather forecast is to be believed 🙁

I did consider making a more complex spacer that would incorporate a threaded section allowing the camera to be fitted directly to the bottom half of the eyepiece holder (that has the ITF), but that would reduce the length of the optical path by up to 30mm and I don’t have that much to play with at the focuser. It would also have the effect of moving the ITF further back in the optical train when the camera was in focus. I’m not sure it’s a good idea to do that as it would concentrate more energy on a smaller area of the ITF.

What has since occurred to me is that I could probably do the same mod for my Atik 314L+. I know of at least one person who uses this camera for solar imaging with a PST and it does have the advantage of fitting the entire disc in a single frame, so I think I shall give that a try too.

Posted in Astro Equipment, Astronomy, Projects | Tagged , , | Leave a comment