Jump to content

Summer Triangle Challenge

ATIK OSX Drivers R1.00 & Example App


Recommended Posts

You've probably seen quite a few development and testing releases marked alpha and beta, however this is the first official release (*little woohoo here*).

Standalone Example Application

This is a complete, standalone, just use application for your Mac. You'll not need to download or install any drivers - these are already baked into the app. All you need is a mac running OSX 10.8 or later (Mountain Lion), just click and go!

Please note, as the application is not digitally signed, this means OSX will complain if you have not allowed applications you've not downloaded from the Apple store. To resolve this goto System Preferences > Security & Privacy and on the General Tab select the "Anywhere" option from the "Allow applications downloaded from" section - you will need to unlock using the padlock to change this.

Download here: ExampleApplication.zip

When you first open the application you'll see a pane at the side of the window. Your camera(s) and EFW2 will appear here. Simply click on the camera and the application will take a single 1 second test exposure and display it in the big pane. A "HID" window will appear an allow you to control your camera - taking further exposures, capturing images to disk and setting the binning, set point temperature etc.

If you double click an exposure, you'll be presented with a simple set of slider bars to sharpen, lighten etc.

If you use preview mode - it will take 1000 images, and during that time you can change the binning, exposure time etc on the fly.

If you select capture mode - it will take the set number of exposures, but will take the exposure time, binning etc from the time you press the button. Changing the parameters after will not have an effect on the captured images until all the captures are done.

If in doubt - just hit cancel.

Delay in the camera appearing

If you find that the camera is taking a while to appear, this is because the driver is not getting a response. When this occurs the driver will go through procedure which may take a minute, before the camera appears. The reason for this is when a camera is at a remote site, you cannot simply unplug things, so the driver can resolve this.

Known issues with the Example App

There are a couple of known issues that exist with the example application. As the example app exists to all people to try out the drivers, these aren't seen as being blocking the release.

* plugging back in a camera causes the app to crash. This is due to the application rather than the drivers.

* if you have multiple cameras connected - you'll get the status for all cameras shown on the HID. Again this is the app rather than the drivers.

Legacy cameras (16IC etc)

In the developers guide below you'll find a section about FTDI ChipID and instructions how to find your camera's own unique ID. This will all you to add your own FTDIChipId to the preference window. Without this id, the drivers will not be able to start the camera.

Experimental features

You may have seen some experimental features such as realtime stacking - I have removed these from the app to keep things simple. At a later date these will appear but for now it's about the drivers!

Link to comment
Share on other sites

  • Replies 198
  • Created
  • Last Reply

Drivers (not required for standalone app)

Next up for the application developers in the house.. the drivers and documentation.

Developer's Guide (covers both modern and legacy, including FTDIChipID): ATIKOSXDrivers.pdf

The modern camera drivers (OSX 10.8 64bit) : ATIKOSXDrivers.framework.zip

The legacy camera drivers (OSX 10.8 64bit, requires modern drivers): ATIKOSXLegacyDrivers.framework.zip

Main focus and differences from the previous releases

There has been considerable progress and testing of the 4000 and 11000 for this release. It's also been tested on the 428ex, 460ex, 490ex, Titan, 383L, 16IC, et al.

Have a look at this thread, showing some drool-worthy images: http://stargazerslou...driver-testing/

The drivers have been tested using both automated test cases, covering all combinations and permutations of binning, subframing, preview mode etc - and - dogfooding with the Example App. In fact I can't remember the last time I've used something else to capture images! (yes it's basic but it really helps test things better than test cases alone).

Will I support OSX 10.X with 32bit?

I thought I'd head this one off here - yes and no.

The 10.8.4 build is the reference build level. I have compiled a 10.6.8 32 bit version on Snow Leopard for Craig Stark for his help to the AP community with a free PHD and also for Nebulosity (which I started on and still use for capture before having the Example App)!


It's been sitting in the background and now I can start helping to progress this.

Link to comment
Share on other sites

Example Application Source

For developers wanting to investigate the use of the drivers more within an application, here's the source code for the Example App.

Source code (XCode project): ExampleApplication Source.zip

To compile, you'll need to pull in the driver frameworks above into the project.

Note the source code for the drivers themselves is under NDA with ATIK hence are not available. The drivers in their unmodified binary form are freely distributable.

Link to comment
Share on other sites

Legacy camera owners

For legacy camera owners that want to extract their FTDI ChipID for use with the drivers/example application - this handy PC command line application will check for FTDI based devices and report the FTDI Chip Id. It's based on the FTDI's own example application:

PC (Windows) command line FTDI ChipId discovery app: GetChipId.zip

Link to comment
Share on other sites

OSX 10.7 owners

I'll look to make a 10.7 version as it's close enough to 10.8, but this will appear in the next post v1.00 release. (Did have a 10.7 app, but wanted to sort out the final testing first on 10.8)

Link to comment
Share on other sites

Hi Nick,

I've been following your project with interest and recently I've been playing around with your Beta 2 and now your R1.00 software. Whilst I am aware that legacy cameras are not the priority of this software, I was still pleased to see support. I have a 16IC colour and followed the steps in the App Developer's Guide to get it running, although I had to use the packet sniffing technique to get the ID of the FTDI chip. Anyway, armed with this new information I tried to get the software to recognise my camera, but to no avail. I can see it in system profiler which confirms that I used the correct USB serial number (the same as your ATIK 16IC mono).

I've tried messing around with the source code - which has been quite hard as I haven't used Xcode in earnest since 10.6 when the interface was rather different - and tried replacing the hard-coded line that you added for your camera's values but this hasn't helped either. In Console I can see that the correct mappings have been added but I cannot get the camera to be detected as an ATIK service or show up in the Example or my modified version. I have no knowledge of writing code that communicates with outside peripherals (other than arduino's over serial). So I can't be very sure of where it's going wrong but my best guess would be that it's related to the FTDI 2xx libraries even if they are baked in to the legacy driver. Is there another set of libraries that I can replace them with to see if there is any effect?

I'm really pleased and impressed by the way this project is progressing and any advice you may be able to give would be very much appreciated,


Link to comment
Share on other sites

Hi Dusty - it will look at the serial number from your 16IC camera and use the ChipID value that's been associated in the preference pane of the application. The hard coded value is only used if the preference window is empty. The main thing is getting the bytes the right way around (it's reversed). It's interesting that your serial number is the same!

If you search the source for a line Logger:debuggingEnabled(false) then change that to true you should get some additional debugging on a file on the desktop.

Link to comment
Share on other sites

Now I'm home - here's a shot from the preference pane showing the configuration. Also it's just occurred to me - you'll need to restart the application as it reads it on startup!


Hehe someone's also using a 16IC and ... 429! (the very old camera)

Link to comment
Share on other sites


Thanks very much for these responses. I had managed to work out the correct format for the preference pane (and have rebuilt/re-run it many times) from the source code but still haven't had any luck (nice to have confirmation though). I spent the afternoon running through the code adding breakpoints and analysing various values/variables trying to find the issues after my Dad thought to remind me of doing it this way (this is his account), but some things remain hard to follow as they are passed into the compiled driver blob (I know there's know way around this). It seems extremely odd that everything in the code everything appears to be acting as it should yet the camera service is never registered. I used your GetChipId program in windows to double check the value I sniffed which was correct. I've tried this value both in the preference pane and hard-wired with an empty preference pane.

Using the additional logging you recommended I was able to see that the camera is registering on the USB bus as I can see a peripheral with FTDI's vendor ID, but for whatever reason it's not talking with the drivers or vice-versa. Nothing appears in this log after USBList END, is anything supposed to? Tomorrow I'm going to try focusing on the DeviceController with my debugger as the AppDelegate I focused on today showed no sign of a problem (as far as I'm aware). I avoided plugging the camera into any hubs (although the ones inside the MacBook Pro are inevitable).

Any hunches or ideas you may have would be very welcome. Also would you rather such support discussion was put into another thread? I don't want to clutter this one if you just want to keep it for the release.



Link to comment
Share on other sites

Hmm - interesting. The hubs will not cause a problem unless it's low powered. I know another 16IC mono user that's got theirs working and an even older camera, so this seems specific to the 16IC colour. If there's no mention of identification it could be the USB vendor ID/product ID combination. Can you shoot me the details in a private PM? The VID/PID and BCD (sometimes known as a release number) would be good. It will be something like: 0x0403 0xDF24 0x0600.

The driver detects the USB device and then looks for the device using the FTDI 2XX driver if it's required - I may have mistyped a ID.

Link to comment
Share on other sites

hi nikk just trying out your software for the first time im using 314l+ it all works apart from i cant seem to save the images it wont let me fill in the captue destination box its probably something simple im not doing hope you can help


Link to comment
Share on other sites

Ahh the capture box - it does work but it needs some careful placement.

I'll record a R1.00 youtube later but for now if you watch this you'll see me using an earlier b1 version with capture (including setting a directory for capture):

Just drag the directory to the location, it will change to a green circle with a + symbol.

Link to comment
Share on other sites

Just figured out what was causing the drop box to be so difficult. For the programmers out there - it needs a horizontal and vertical constraint adding. To the non-developers - it's fixed and will appear in the next drop.

It's good to see results coming back! Please feel free to try it and give me some feedback :)

Link to comment
Share on other sites

i will be using your software tonight let you know how i get on

Cool - as it's just an example app you may find it a bit basic without histogram, stretching preview, focusing etc! I've used it for solar and for DSO. Look forward to your feedback.

(slightly nervous as every developer is when their code get used by someone! :D)

Link to comment
Share on other sites

  • 2 months later...


Hi Nick,

Perhaps a stupid question:

Where is the Example App saving the pictures?



Hi the current version here doesn't have a default, if a directory is dragged to the box where the mouse pointer will change to a "+" pointer:


Then once you release the mouse button:


A later version (to be released) has a change that expands the drop area so it's far easier to drop the directory.

Link to comment
Share on other sites

  • 1 month later...

Ok, It has gone a bit quiet but I'm now up to 1.05… and I'll look shortly to get a build out (pending DIY!).

James has found a big bug in the form of leaving the amp on.. so you get amp glow! 1.05 has a fix for this in and my 383L is pitch dark now compared to what it was previously!

Question is - do you want to play with some experimental stuff in the Example App? :D

Link to comment
Share on other sites

For those following this - here's a little surprise.. ExampleApp 1.05 including all the experimental bits:

* FFT based alignment

* Static stacking

Example Application v1.05: ExampleApplication v105.zip

Naturally the developers know - you can take the drivers out of this for use :) although I wanted to get this out before finalising the driver release.

Capture location dropping is easier - also these updates in the drivers that it's using:

// 1.00 First full release

// 1.01 Craig - fix for old ART 429 interleaving bug

// 1.02 Chris - fix for missing 16IC-C PID

// 1.03 Added icons to Example App for older cameras so they dont appear as blanks, also has driver set names such as 16IC-C instead of "MiniART".

// 1.04 Titan modes are held off camera and the gain/offset are not written back into the EEPROM.

// 1.05 Abort will now wait up to one second (or exit of abort - whichever is fastest)

//      Craig - Exposed ATIKDeviceDisconnectedException

//      Craig - New specific camera support modes added to modern driver.

//      James@FLO - Bugfix for amp being left on before ClearCCD on long exposures!

//      Amp always switched off at the end of an exposure

//      Removed duplicated clear CCD and stop guiding operations.

Link to comment
Share on other sites

I was able to give Nicks app a good spin last Saturday night and I can report... It works! I put an Atik 460 on my setup and used the app on my MacBook running Mavericks, no problems at all. In fairness I didn't try the experimental stuff as I was just relieved to be imaging again :) 8 hours later after trying all kinds of combinations of lengths of subs and number of them, no hiccups. I have a couple of images I need to process when I get the time...

It's now easier to drag and drop the file save location and there's no amp glow at all. There's a couple of things I'd like that I've mentioned to Nick but they are as likely as not to be things that aren't relevant to anyone else. Either way I am now able to get back into imaging again this time with an Atik camera!

Oh, and the clouds are back....


Link to comment
Share on other sites

Cool :)

I've posted a couple of images from Wednesday nights testing here:  http://stargazerslounge.com/topic/201680-atik-camera-run-natively-on-a-mac/

The sharp eyed amongst you may notice some differences between the images (aside from the different object). This is due to me completely breaking down my setup between images and putting it all back with different spacers... only to realise the first setup was better...

A couple of images doesn't really prove that something works, you'll all just have to take my word for it ;)


Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.