×

INDI Library v1.9.0 Released (23 Apr 2021)

Major INDI Library release v1.9.0 bring significant internal changes championed by @pawel-soja to modernize core INDI Library drivers and clients. New drivers for DeepSkyDad Flat Panel & Pegasus devices plus further improvements to PCM8 drivers.

Atik 314e

  • Posts: 9
  • Thank you received: 1

Atik 314e was created by abhoriel

Hi, I recently acquired an atik 314e and am keen to try it with indi.
The atik 314e has cooling, but not set point cooling. On the Windows Atik capture software, you have to click a button to enable cooling.
There doesn't seem to be any such button appearing within Ekos for the atik 314e however. Is it safe to assume that it is actually cooling? Is there any way to find out?

Many thanks,
4 years 4 months ago #14258

Please Log in or Create an account to join the conversation.

  • Posts: 712
  • Thank you received: 174

Replied by Peter Polakovic on topic Atik 314e

Hi, please can you try run atik_ccd_test to verify how is cooler detected? If it is not reported as set point cooling, it is probably not turned on by INDI driver. Peter
4 years 4 months ago #14268

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 1

Replied by abhoriel on topic Atik 314e

Hi, thanks for the response. Here is the output from atik_ccd_test.

There is mention of the cooler:
cooler: COOLER_ONOFF
min cooler power: 0
max cooler power: 1


version 1.12
 
list --------------------
 
-> AtikCamera::list(...)
    'Atik 314E' [0x4b4, 0xdf2d] found...
 -> AtikCameraImpl::AtikCameraImpl(..., Atik 314E, 2)
     maxPacketSize = 8388608
 <- AtikCameraImpl::AtikCameraImpl
<- AtikCamera::list 1
 
open Atik 314E --------------------
 
-> AtikCameraImpl::open()
    libusb_claim_interface() -> LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLETED
    libusb_set_interface_alt_setting() -> LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLETED
 -> AtikCameraImpl::writeFW()
     cpu stopped 1
     cpu started 1
 <- AtikCameraImpl::writeFW 1
 -> AtikCameraImpl::setPortDirection(0, 0x9f)
 <- AtikCameraImpl::setPortDirection 1
 -> AtikCameraImpl::setPortState(0, 0x80)
 <- AtikCameraImpl::setPortState 1
 -> AtikCameraImpl::i2cSetTimeout(50)
 <- AtikCameraImpl::i2cSetTimeout 1
 -> AtikCameraImpl::setParTimeout(50)
 <- AtikCameraImpl::setParTimeout 1
 -> AtikCameraImpl::i2cSetSpeed(0)
 <- AtikCameraImpl::i2cSetSpeed 1
 -> AtikCameraImpl::flush()
     libusb_bulk_transfer -> LIBUSB_ERROR_TIMEOUT
     0 bytes flushed
 <- AtikCameraImpl::flush
 -> AtikCameraImpl::i2cSetTimeout(5000)
 <- AtikCameraImpl::i2cSetTimeout 1
 -> AtikCameraImpl::eepRead(3, ..., 2)
  -> AtikCameraImpl::i2cWrite(81, [0x00 0x03], 2)
  <- AtikCameraImpl::i2cWrite 1
  -> AtikCameraImpl::i2cRead(81, ..., 2)
  <- AtikCameraImpl::i2cRead 1 [0x2d 0xdf]
 <- AtikCameraImpl::eepRead 1 [0x2d 0xdf]
 -> AtikCameraImpl::eepRead(1000, ..., 5)
  -> AtikCameraImpl::i2cWrite(81, [0x00 0xe8], 2)
  <- AtikCameraImpl::i2cWrite 1
  -> AtikCameraImpl::i2cRead(81, ..., 5)
  <- AtikCameraImpl::i2cRead 1 [0xff 0xff 0xff 0xff...]
 <- AtikCameraImpl::eepRead 1 [0xff 0xff 0xff 0xff...]
    colour = 1, offsetX = 0, offsetY = 0
    pid = df2d
 -> AtikCameraImpl::i2cSetTimeout(100)
 <- AtikCameraImpl::i2cSetTimeout 1
 -> AtikCameraImpl::setParTimeout(1000)
 <- AtikCameraImpl::setParTimeout 1
 -> AtikCameraImpl::parInit(9)
  -> AtikCameraImpl::parInit(...)
  <- AtikCameraImpl::parInit 1
 <- AtikCameraImpl::parInit 1
 -> AtikCameraImpl::ping()
     ping -> 100
  -> AtikCameraImpl::sendCommand(80, [0x64], ..., 1, 0)
  <- AtikCameraImpl::sendCommand 1 NULL
     ping <- 101
 <- AtikCameraImpl::ping 1
 -> AtikCameraImpl::sendCommand(1, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
    version: 3.1
    model: ATIK-314E
    manufacturer: ARTEMIS CCD
    flags: 0x18  PREVIEW SUBSAMPLE HAS_GUIDE_PORT
    pixel count: 1392 x 1040
    pixel size: 4.7 x 4.7
    max bin: 255 x 255
    well capacity: 60
 -> AtikCameraImpl::appInit()
  -> AtikCameraImpl::sendCommand(44, NULL, ..., 0, 0)
  <- AtikCameraImpl::sendCommand 1 NULL
     ----- DEBUG OFF -----
     ----- DEBUG ON -----
     APPINIT completed
 <- AtikCameraImpl::appInit 1
 -> AtikCameraImpl::sendCommand(54, NULL, ..., 0, 2)
 <- AtikCameraImpl::sendCommand 1 [0x00 0x00]
    temperature sensor count: 0
 -> AtikCameraImpl::sendCommand(52, NULL, ..., 0, 6)
 <- AtikCameraImpl::sendCommand 1 [0x47 0x00 0x01 0x00...]
    cooler: COOLER_ONOFF
    min cooler power: 0
    max cooler power: 1
 -> AtikCameraImpl::eepRead(5, ..., 2)
  -> AtikCameraImpl::i2cWrite(81, [0x00 0x05], 2)
  <- AtikCameraImpl::i2cWrite 1
  -> AtikCameraImpl::i2cRead(81, ..., 2)
  <- AtikCameraImpl::i2cRead 1 [0x7e 0xa2]
 <- AtikCameraImpl::eepRead 1 [0x7e 0xa2]
 -> AtikCameraImpl::eepRead(8, ..., 2)
  -> AtikCameraImpl::i2cWrite(81, [0x00 0x08], 2)
  <- AtikCameraImpl::i2cWrite 1
  -> AtikCameraImpl::i2cRead(81, ..., 2)
  <- AtikCameraImpl::i2cRead 1 [0xc3 0x96]
 <- AtikCameraImpl::eepRead 1 [0xc3 0x96]
    serial # 2529403518
 -> AtikCameraImpl::i2cSetTimeout(200)
 <- AtikCameraImpl::i2cSetTimeout 1
 -> AtikCameraImpl::setParTimeout(2000)
 <- AtikCameraImpl::setParTimeout 1
<- AtikCameraImpl::open 1
 
getCapabilities --------------------
 
-> AtikCameraImpl::getCapabilities(...)
<- AtikCameraImpl::getCapabilities 1
 
setPreviewMode --------------------
 
-> AtikCameraImpl::setPreviewMode(0)
    not changed
<- AtikCameraImpl::setPreviewMode 1
 
set8BitMode --------------------
 
-> AtikCameraImpl::set8BitMode(0)
<- AtikCameraImpl::set8BitMode 1
 
readCCD (short) --------------------
 
 
1392x1040 rounded to 1392x1040
 
-> AtikCameraImpl::readCCD(0, 0, 1392, 1040, 1, 1, 0.500000)
    lock()
 -> AtikCameraImpl::setParTimeout(30000)
 <- AtikCameraImpl::setParTimeout 1
 -> AtikCameraImpl::sendCommand(2, [0x00 0x00], ..., 2, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(4, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(5, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(6, [0xf4 0x01 0x01 0x00...], ..., 16, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
<- AtikCameraImpl::readCCD 1
 
getImage --------------------
 
-> AtikCameraImpl::getImage(..., 1447680)
    elapsed 1.80069 s
 -> AtikCameraImpl::setParTimeout(1000)
 <- AtikCameraImpl::setParTimeout 1
    unlock()
<- AtikCameraImpl::getImage 1 [0xc3 0x00 0xf5 0x00...]
 
sample data...
 195 245 249 230 220 235 256 235 245 222
 215 245 234 209 247 219 217 225 236 243
 255 231 244 221 258 222 214 191 235 193
 255 230 223 186 239 197 233 228 211 230
 217 249 223 238 258 248 217 232 253 283
 217 258 262 229 248 241 236 221 245 211
 243 233 237 208 209 221 238 208 242 235
 210 239 252 221 244 243 266 228 241 265
 216 240 246 224 260 258 201 213 215 205
 262 250 226 250 238 243 251 232 255 243
 
average = 229.282 min = 100 max = 352
 
saved to short.fits
 
 
startExposure (long) --------------------
 
-> AtikCameraImpl::startExposure()
    lock()
 -> AtikCameraImpl::sendCommand(2, [0x00 0x00], ..., 2, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(4, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(5, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
    unlock()
<- AtikCameraImpl::startExposure 1
 
sleep --------------------
 
 
2s delay fixed to 2000000us
 
 
readCCD --------------------
 
 
1392x1040 rounded to 1392x1040
 
-> AtikCameraImpl::readCCD(0, 0, 1392, 1040, 1, 1)
    lock()
 -> AtikCameraImpl::setParTimeout(30000)
 <- AtikCameraImpl::setParTimeout 1
 -> AtikCameraImpl::sendCommand(2, [0x01 0x00], ..., 2, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(6, [0x00 0x00 0x01 0x00...], ..., 16, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
<- AtikCameraImpl::readCCD 1
 
getImage --------------------
 
-> AtikCameraImpl::getImage(..., 1447680)
    elapsed 1.77708 s
 -> AtikCameraImpl::setParTimeout(1000)
 <- AtikCameraImpl::setParTimeout 1
    unlock()
<- AtikCameraImpl::getImage 1 [0xf3 0x00 0xed 0x00...]
 
sample data...
 243 237 248 231 237 243 256 254 248 240
 238 220 235 215 212 185 233 229 232 251
 236 258 246 217 224 219 246 246 225 203
 205 228 192 207 219 188 218 225 227 185
 272 202 252 203 186 216 232 256 254 200
 243 232 246 175 200 213 218 222 187 244
 209 215 253 232 247 209 206 242 244 217
 189 244 235 234 192 184 218 214 219 217
 201 203 205 239 244 257 250 260 210 201
 241 188 249 217 229 208 180 239 246 204
 
average = 225.374 min = 105 max = 350
 
saved to long.fits
 
 
setPreviewMode --------------------
 
-> AtikCameraImpl::setPreviewMode(0)
    not changed
<- AtikCameraImpl::setPreviewMode 1
 
set8BitMode --------------------
 
-> AtikCameraImpl::set8BitMode(0)
<- AtikCameraImpl::set8BitMode 1
 
setGuideRelays --------------------
 
-> AtikCameraImpl::setGuideRelays(1)
    lock()
 -> AtikCameraImpl::sendCommand(24, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(20, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
    unlock()
<- AtikCameraImpl::setGuideRelays 1
 
... 0.1s
 
setGuideRelays --------------------
 
-> AtikCameraImpl::setGuideRelays(4)
    lock()
 -> AtikCameraImpl::sendCommand(24, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(22, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
    unlock()
<- AtikCameraImpl::setGuideRelays 1
 
... 0.1s
 
setGuideRelays --------------------
 
-> AtikCameraImpl::setGuideRelays(2)
    lock()
 -> AtikCameraImpl::sendCommand(24, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(21, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
    unlock()
<- AtikCameraImpl::setGuideRelays 1
 
... 0.1s
 
setGuideRelays --------------------
 
-> AtikCameraImpl::setGuideRelays(8)
    lock()
 -> AtikCameraImpl::sendCommand(24, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
 -> AtikCameraImpl::sendCommand(23, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
    unlock()
<- AtikCameraImpl::setGuideRelays 1
 
... 0.1s
 
setGuideRelays --------------------
 
-> AtikCameraImpl::setGuideRelays(0)
    lock()
 -> AtikCameraImpl::sendCommand(24, NULL, ..., 0, 0)
 <- AtikCameraImpl::sendCommand 1 NULL
    unlock()
<- AtikCameraImpl::setGuideRelays 1
 
close --------------------
 
-> AtikCameraImpl::close()
<- AtikCameraImpl::close
 
Atik 314E test OK
Last edit: 4 years 4 months ago by abhoriel. Reason: added code tags
4 years 4 months ago #14269

Please Log in or Create an account to join the conversation.

  • Posts: 712
  • Thank you received: 174

Replied by Peter Polakovic on topic Atik 314e

Hm, this means, that unless cooler is on on power up (I don't think so) it is not detected and used by the driver, I have to fix it. Peter
4 years 4 months ago #14270

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 1

Replied by abhoriel on topic Atik 314e

Sure, many thanks. Let me know if you need me to do any tests!
4 years 4 months ago #14271

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 1

Replied by abhoriel on topic Atik 314e

I thought I'd try and check with the SDK to see if the cooler is on at start up. Unfortunately, calls to getCoolingStatus() fail and return false. Also calls to setCooling() and initiateWarmUp() seem to fail also. If the code and debug output would help, let me know!
4 years 3 months ago #14607

Please Log in or Create an account to join the conversation.

  • Posts: 712
  • Thank you received: 174

Replied by Peter Polakovic on topic Atik 314e

Hi, pls. can you try version 1.17?

www.cloudmakers.eu/atikdrivers/

Now cooler property is enabled whatever kind of cooler is present.

Peter
The following user(s) said Thank You: abhoriel
4 years 3 months ago #14769

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 1

Replied by abhoriel on topic Atik 314e

Thanks, I will try it out and let you know. Do you mean the v1.17 driver ot the v1.17 SDK?
4 years 3 months ago #14779

Please Log in or Create an account to join the conversation.

  • Posts: 712
  • Thank you received: 174

Replied by Peter Polakovic on topic Atik 314e

You can try both :) Peter
The following user(s) said Thank You: abhoriel
4 years 3 months ago #14783

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 1

Replied by abhoriel on topic Atik 314e

Thanks! There is now a button to turn the cooler on and off in Ekos. With the SDK, the cooler seems to be turned on by default, excellent.

This code:
if (camera->getCoolingStatus(&state, &temp, &power) == false) {
		fprintf(stderr, "failed to get cooling status\n");
	}

results in:
Assertion "tempSensorType!=0" failed (/home/polakovic/indi-atik/atikccdusb.cpp, 223)

which is probably fair enough, but if a NULL pointer is passed to getCoolingStatus() for the temperature, it works very well.
initiateWarmUp() fails (returns false), but I'm not really certain what the purpose of initiateWarmUp() is anyway!


Thanks a lot!
4 years 3 months ago #14801

Please Log in or Create an account to join the conversation.

  • Posts: 712
  • Thank you received: 174

Replied by Peter Polakovic on topic Atik 314e

Hi, this is actually correct. initiateWarmUp() should work only with set point coolers. Peter
4 years 3 months ago #14804

Please Log in or Create an account to join the conversation.

Time to create page: 0.839 seconds