Author Topic: Question about FLIR One for Android  (Read 261966 times)

0 Members and 3 Guests are viewing this topic.

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #50 on: December 09, 2015, 11:09:54 pm »
I've been trying to figure this out all afternoon and haven't so far. No I didn't unplug the device. I get the same basic response when I try my seek python code moded for the flir one.

   ...ken...
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #51 on: December 09, 2015, 11:31:10 pm »

After installing a fresh Linux Mint I can write on EP 0x02

install necessary packages (libusb.h, errno.h):
Code: [Select]
$ lsb_release -r
Release: 17.3
$ sudo apt-get install libusb-1.0-0-dev
$ sudo apt-get install g++

compile
Code: [Select]
$ /usr/bin/gcc -std=c99 '-I/usr/include/libusb-1.0' -I/usr/include/ -o flir flir7d.c  -lusb-1.0
run
Code: [Select]
$ sudo ./flir
Successfully find the Flir One G2 device

libusb_control_transfer(devh, DATA0: 80 | 06 | 00 01 | 00 00 | 12 00
DATA1:  12 01 00 02 00 00 00 40 cb 09 96 19 08 01 01 02 03 01

libusb_control_transfer(devh, DATA0: 80 06 00 02 00 00 09 00
DATA1:  09 02 60 00 03 03 04 c0 00

libusb_control_transfer(devh, DATA0: 80 06 00 02 00 00 60 00
DATA1:  09 02 60 00 03 03 04 c0 00 09 04 00 00 02 ff f0 00 05 07 05 81 02 00 02 00 07 05 02 02 00 02 01 09 04 01 01 00 ff f0 01 06 09 04 01 00 02 ff f0 01 06 07 05 83 02 00 02 00 07 05 04 02 00 02 01 09 04 02 01 00 ff f0 01 07 09 04 02 00 02 ff f0 01 07 07 05 85 02 00 02 00 07 05 06 02 00 02 01

libusb_get_string_descriptor langid=0x409
String descriptor 2: "FLIR ONE Camera"
String descriptor 1: "FLIR Systems"
String descriptor 3: "FLIRONEF03FXXXXXXFFF"
Successfully set usb configuration 3
String descriptor 4: "SBIBDP Configuration"
String descriptor 5: "iAP Interface"
String descriptor 6: "com.flir.rosebud.fileio"
String descriptor 7: "com.flir.rosebud.frame"
Successfully claimed interface 0,1,2
stop interface 2 FRAME
stop interface 1 FILEIO

start interface 1 FILEIO

: Thu Dec 10 00:41:50 2015

: Thu Dec 10 00:41:50 2015
 >>>>>>>>>>>>>>>>>bulk transfer (in) 0x81: LIBUSB_ERROR_TIMEOUT

: Thu Dec 10 00:41:51 2015
 >>>>>>>>>>>>>>>>>bulk transfer (in) 0x83: LIBUSB_ERROR_TIMEOUT

: Thu Dec 10 00:41:54 2015
 bulk read EP 0x81, actual length 97
HEX:
 cc 01 00 00 01 00 00 00 51 00 00 00 67 e4 ee 50 7b 22 74 79 70 65 22 3a 22 62 61 74 74 65 72 79 43 68 61 72 67 69 6e 67 53 74 61 74 65 55 70 64 61 74 65 22 2c 22 64 61 74 61 22 3a 7b 22 63 68 61 72 67 69 6e 67 53 74 61 74 65 22 3a 22 73 74 61 74 65 4e 6f 43 68 61 72 67 69 6e 67 22 7d 7d 00
STRING:
?Qg??P{"type":"batteryChargingStateUpdate","data":{"chargingState":"stateNoCharging"}}

ask for CameraFiles.zip on EP 0x83:

: Thu Dec 10 00:41:57 2015

EP 0x02 to be sent Hexcode: 16 Bytes[ cc 01 00 00 01 00 00 00 41 00 00 00 f8 b3 f7 00 ]

Write successful!
EP 0x02 to be sent: {"type":"openFile","data":{"mode":"r","path":"CameraFiles.zip"}}
Write successful!
Sent 65 bytes with string: {"type":"openFile","data":{"mode":"r","path":"CameraFiles.zip"}}

EP 0x02 to be sent Hexcode: 16 Bytes[ cc 01 00 00 01 00 00 00 33 00 00 00 ef db c1 c1 ]

Write successful!
EP 0x02 to be sent 51 Bytes: {"type":"readFile","data":{"streamIdentifier":10}}
Write successful!
Sent 51 bytes with string: {"type":"readFile","data":{"streamIdentifier":10}}

: Thu Dec 10 00:41:57 2015

: Thu Dec 10 00:41:57 2015
 bulk read EP 0x81, actual length 109
HEX:
 cc 01 00 00 01 00 00 00 5d 00 00 00 df 5b 38 1a 7b 22 74 79 70 65 22 3a 22 6f 70 65 6e 46 69 6c 65 53 74 61 74 75 73 22 2c 22 64 61 74 61 22 3a 7b 22 70 61 74 68 22 3a 22 43 61 6d 65 72 61 46 69 6c 65 73 2e 7a 69 70 22 2c 22 73 74 72 65 61 6d 49 64 65 6e 74 69 66 69 65 72 22 3a 31 30 2c 22 6d 6f 64 65 22 3a 22 72 22 7d 7d 00
STRING:
?]?[8{"type":"openFileStatus","data":{"path":"CameraFiles.zip","streamIdentifier":10,"mode":"r"}}

: Thu Dec 10 00:42:01 2015

Ask for video stream, start EP 0x85:

: Thu Dec 10 00:42:01 2015
 >>>>>>>>>>>>>>>>>bulk transfer (in) 0x85: LIBUSB_ERROR_TIMEOUT

same result: no packages from EP 83 and 85  :-\



interesting:
on OSX and ubuntu I get after starting the interface 1 with libusb_control_transfer(devh,1,0x0b,1,1,data,0,100) this long status message (like in your log F6c.txt)
Code: [Select]
start interface 1 FILEIO

: Tue Dec  8 22:41:25 2015
 bulk read EP 0x81, actual length 535
HEX:
 cc 01 00 00 01 00 00 00 07 02 00 00 77 60 0c bd 7b 22 74 79 70 65 22 3a 22 73 6c 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 22 2c 22 64 61 74 61 22 3a 7b 22 73 65 72 69 61 6c 4e 75 6d 62 65 72 42 6f 61 72 64 22 3a 22 46 30 33 46 38 4f 30 30 41 46 46 22 2c 22 70 61 72 74 4e 75 6d 62 65 72 42 6f 61 72 64 22 3a 22 32 31 32 30 30 31 36 30 32 30 31 22 2c 22 76 65 72 73 69 6f 6e 42 6f 61 72 64 22 3a 22 44 22 2c 22 73 65 72 69 61 6c 4e 75 6d 62 65 72 4c 65 70 74 6f 6e 22 3a 22 33 37 31 38 37 31 22 2c 22 76 65 72 73 69 6f 6e 4c 65 70 74 6f 6e 22 3a 22 33 2e 31 2e 34 36 22 2c 22 6c 65 70 74 6f 6e 51 52 22 3a 22 41 30 33 37 31 38 37 31 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 46 61 63 74 6f 72 79 45 53 57 22 3a 22 30 2e 34 2e 32 37 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 4f 70 65 72 61 74 69 6f 6e 61 6c 45 53 57 22 3a 22 30 2e 34 2e 32 37 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 55 70 64 61 74 65 72 45 53 57 22 3a 22 30 2e 34 2e 32 37 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 41 50 49 22 3a 22 6d 61 73 74 65 72 2e 30 31 35 65 64 65 34 22 2c 22 67 69 74 52 65 76 69 73 69 6f 6e 22 3a 22 6d 61 73 74 65 72 2e 30 31 35 65 64 65 34 22 2c 22 61 75 74 6f 6d 61 74 69 63 53 68 75 74 74 65 72 22 3a 22 59 22 2c 22 66 6f 72 6d 46 61 63 74 6f 72 22 3a 22 64 6f 6e 67 6c 65 22 2c 22 74 68 65 72 6d 61 6c 48 65 69 67 68 74 22 3a 22 31 32 30 22 2c 22 74 68 65 72 6d 61 6c 57 69 64 74 68 22 3a 22 31 36 30 22 2c 22 62 69 67 45 6e 64 69 61 6e 54 68 65 72 6d 61 6c 22 3a 22 30 22 2c 22 6f 70 65 72 61 74 69 6e 67 4d 6f 64 65 22 3a 22 6f 70 65 72 61 74 69 6f 6e 61 6c 22 7d 7d 00
STRING:
?w`?{"type":"sledInformation","data":{"serialNumberBoard":"F03XXXXXXX","partNumberBoard":"21222222201","versionBoard":"D","serialNumberLepton":"32333331","versionLepton":"3.1.46","leptonQR":"A0777781","versionRosebudFactoryESW":"0.4.27","versionRosebudOperationalESW":"0.4.27","versionRosebudUpdaterESW":"0.4.27","versionRosebudAPI":"master.015ede4","gitRevision":"master.015ede4","automaticShutter":"Y","formFactor":"dongle","thermalHeight":"120","thermalWidth":"160","bigEndianThermal":"0","operatingMode":"operational"}}
.. but not with Mint  :-\



edit: randomly I get a full message with Mint:
maybe trouble with virtual machine (linux mint runs under vmware fusion)
Code: [Select]
$ sudo ./flir
Successfully find the Flir One G2 device

libusb_control_transfer(devh, DATA0: 80 | 06 | 00 01 | 00 00 | 12 00
DATA1:  12 01 00 02 00 00 00 40 cb 09 96 19 08 01 01 02 03 01

libusb_control_transfer(devh, DATA0: 80 06 00 02 00 00 09 00
DATA1:  09 02 60 00 03 03 04 c0 00

libusb_control_transfer(devh, DATA0: 80 06 00 02 00 00 60 00
DATA1:  09 02 60 00 03 03 04 c0 00 09 04 00 00 02 ff f0 00 05 07 05 81 02 00 02 00 07 05 02 02 00 02 01 09 04 01 01 00 ff f0 01 06 09 04 01 00 02 ff f0 01 06 07 05 83 02 00 02 00 07 05 04 02 00 02 01 09 04 02 01 00 ff f0 01 07 09 04 02 00 02 ff f0 01 07 07 05 85 02 00 02 00 07 05 06 02 00 02 01

libusb_get_string_descriptor langid=0x409
String descriptor 2: "FLIR ONE Camera"
String descriptor 1: "FLIR Systems"
String descriptor 3: "FLIRONEF03F8O00AFFF"
Successfully set usb configuration 3
String descriptor 4: "SBIBDP Configuration"
String descriptor 5: "iAP Interface"
String descriptor 6: "com.flir.rosebud.fileio"
String descriptor 7: "com.flir.rosebud.frame"
Successfully claimed interface 0,1,2
stop interface 2 FRAME
stop interface 1 FILEIO

start interface 1 FILEIO

: Thu Dec 10 00:50:29 2015

: Thu Dec 10 00:50:29 2015
 >>>>>>>>>>>>>>>>>bulk transfer (in) 0x81: LIBUSB_ERROR_TIMEOUT

: Thu Dec 10 00:50:30 2015
 >>>>>>>>>>>>>>>>>bulk transfer (in) 0x83: LIBUSB_ERROR_TIMEOUT

: Thu Dec 10 00:50:32 2015
 bulk read EP 0x81, actual length 519
HEX:
 7b 22 74 79 70 65 22 3a 22 73 6c 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 22 2c 22 64 61 74 61 22 3a 7b 22 73 65 72 69 61 6c 4e 75 6d 62 65 72 42 6f 61 72 64 22 3a 22 46 30 33 46 38 4f 30 30 41 46 46 22 2c 22 70 61 72 74 4e 75 6d 62 65 72 42 6f 61 72 64 22 3a 22 32 31 32 30 30 31 36 30 32 30 31 22 2c 22 76 65 72 73 69 6f 6e 42 6f 61 72 64 22 3a 22 44 22 2c 22 73 65 72 69 61 6c 4e 75 6d 62 65 72 4c 65 70 74 6f 6e 22 3a 22 33 37 31 38 37 31 22 2c 22 76 65 72 73 69 6f 6e 4c 65 70 74 6f 6e 22 3a 22 33 2e 31 2e 34 36 22 2c 22 6c 65 70 74 6f 6e 51 52 22 3a 22 41 30 33 37 31 38 37 31 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 46 61 63 74 6f 72 79 45 53 57 22 3a 22 30 2e 34 2e 32 37 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 4f 70 65 72 61 74 69 6f 6e 61 6c 45 53 57 22 3a 22 30 2e 34 2e 32 37 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 55 70 64 61 74 65 72 45 53 57 22 3a 22 30 2e 34 2e 32 37 22 2c 22 76 65 72 73 69 6f 6e 52 6f 73 65 62 75 64 41 50 49 22 3a 22 6d 61 73 74 65 72 2e 30 31 35 65 64 65 34 22 2c 22 67 69 74 52 65 76 69 73 69 6f 6e 22 3a 22 6d 61 73 74 65 72 2e 30 31 35 65 64 65 34 22 2c 22 61 75 74 6f 6d 61 74 69 63 53 68 75 74 74 65 72 22 3a 22 59 22 2c 22 66 6f 72 6d 46 61 63 74 6f 72 22 3a 22 64 6f 6e 67 6c 65 22 2c 22 74 68 65 72 6d 61 6c 48 65 69 67 68 74 22 3a 22 31 32 30 22 2c 22 74 68 65 72 6d 61 6c 57 69 64 74 68 22 3a 22 31 36 30 22 2c 22 62 69 67 45 6e 64 69 61 6e 54 68 65 72 6d 61 6c 22 3a 22 30 22 2c 22 6f 70 65 72 61 74 69 6e 67 4d 6f 64 65 22 3a 22 6f 70 65 72 61 74 69 6f 6e 61 6c 22 7d 7d 00
STRING:
{"type":"sledInformation","data":{"serialNumberBoard":"F03FXXXXXXFF","partNumberBoard":"211111111","versionBoard":"D","serialNumberLepton":"3222221","versionLepton":"3.1.46","leptonQR":"A3444441","versionRosebudFactoryESW":"0.4.27","versionRosebudOperationalESW":"0.4.27","versionRosebudUpdaterESW":"0.4.27","versionRosebudAPI":"master.015ede4","gitRevision":"master.015ede4","automaticShutter":"Y","formFactor":"dongle","thermalHeight":"120","thermalWidth":"160","bigEndianThermal":"0","operatingMode":"operational"}}

ask for CameraFiles.zip on EP 0x83:

: Thu Dec 10 00:50:36 2015

EP 0x02 to be sent Hexcode: 16 Bytes[ cc 01 00 00 01 00 00 00 41 00 00 00 f8 b3 f7 00 ]

Write successful!
EP 0x02 to be sent: {"type":"openFile","data":{"mode":"r","path":"CameraFiles.zip"}}
Write successful!
Sent 65 bytes with string: {"type":"openFile","data":{"mode":"r","path":"CameraFiles.zip"}}

EP 0x02 to be sent Hexcode: 16 Bytes[ cc 01 00 00 01 00 00 00 33 00 00 00 ef db c1 c1 ]

Write successful!
EP 0x02 to be sent 51 Bytes: {"type":"readFile","data":{"streamIdentifier":10}}
Write successful!
Sent 51 bytes with string: {"type":"readFile","data":{"streamIdentifier":10}}

: Thu Dec 10 00:50:36 2015

: Thu Dec 10 00:50:36 2015
 bulk read EP 0x81, actual length 16
HEX:
 cc 01 00 00 01 00 00 00 5d 00 00 00 df 5b 38 1a
STRING:
?]?[8

« Last Edit: December 10, 2015, 12:07:11 am by tomas123 »
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #52 on: December 10, 2015, 12:03:56 am »
Very interesting, I just tried on a laptop and got the same results as I got before, this was a 32bit laptop and before I was using my 64bit desktop.
I find it interesting that I get different error messages.
Maybe my Flir One has different fiirmware.
THe FlirOne app says I have vers 0.4.26
and vers 1.4.1 fro the app.
Hardware version C

   ...ken...
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #53 on: December 10, 2015, 12:06:57 am »
my F1: "versionBoard":"D"
your F1: "versionBoard":"C"

As I wrote above I changed from phyton to c because c has a native access to libusb without overhead.
I tried to write the same bytes to usb as I read in your log file.
I hope your OpenVizsla can show the difference.

PS: I installed 64 Bit Linux Mint

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #54 on: December 10, 2015, 12:21:04 am »
What version of libusb-1.0 are you using, mine is what comes with Linux Mint 17.3 which is:
2:1.0.17-1ubuntu2
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #55 on: December 10, 2015, 12:46:44 am »
Here is an OV dump of my laptop talking to the FlirOne using your code.
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #56 on: December 10, 2015, 09:42:23 am »
Great :-+

The good news: Our USB packets from c-code are byte identical (include checksum) with the Flir One App
The bad news: You can't start with your Linux Mint the EP 0x81 (CONFIG_READ_ENDPOINT) on interface 0 of the Flir1. Therefore you got an error and the transfer stops.

Lets compare our configuration:

I downloaded the linuxmint-17.3-cinnamon-64bit.iso from http://www.linuxmint.com/download.php
and after installing in vmware :D I only make the following steps for running the code:
Code: [Select]
$ sudo apt-get install libusb-1.0-0-dev
$ sudo apt-get install g++

$ /usr/bin/gcc -std=c99 '-I/usr/include/libusb-1.0' -I/usr/include/ -o flir flir7d.c  -lusb-1.0

then I can open the EP 0x81 as you see in my log files above
 
Code: [Select]
bulk read EP 0x81, actual length 519
...
STRING:
{"type":"sledInformation","data":{"serialNumberBoard":"F03FXXXXXXFF","partNumberBoard":"211111111","versionBoard":"D","serialNumberLepton":"3222221","versionLepton":"3.1.46","leptonQR":"A3444441","versionRosebudFactoryESW":"0.4.27","versionRosebudOperationalESW":"0.4.27","versionRosebudUpdaterESW":"0.4.27","versionRosebudAPI":"master.015ede4","gitRevision":"master.015ede4","automaticShutter":"Y","formFactor":"dongle","thermalHeight":"120","thermalWidth":"160","bigEndianThermal":"0","operatingMode":"operational"}}

my libusb version is the same as yours (2:1.0.17-1ubuntu2):
Code: [Select]
$ dpkg -l | grep -i usb
...
ii  libusb-0.1-4:amd64                          2:0.1.12-23.3ubuntu1                                amd64        userspace USB programming library
ii  libusb-1.0-0:amd64                          2:1.0.17-1ubuntu2                                   amd64        userspace USB programming library
ii  libusb-1.0-0:i386                           2:1.0.17-1ubuntu2                                   i386         userspace USB programming library
ii  libusb-1.0-0-dev:amd64                      2:1.0.17-1ubuntu2                                   amd64        userspace USB programming library development files

it's possible, that you included a bad lib path with your gcc
please compare you command line with my line:
Code: [Select]
$ /usr/bin/gcc -std=c99 '-I/usr/include/libusb-1.0' -I/usr/include/ -o flir flir7d.c  -lusb-1.0
Maybe that a claim interface with "force" make sense, but I got an ok!
http://developer.android.com/reference/android/hardware/usb/UsbDeviceConnection.html#claimInterface(android.hardware.usb.UsbInterface,%20boolean)
« Last Edit: December 10, 2015, 09:58:31 am by tomas123 »
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #57 on: December 10, 2015, 05:05:47 pm »
I use Linux mint as my main desktop, so no vmware involved. I am using Mint 17.3 MATE
I have lots of stuff installed so it is possible that there is some sort of usb conflict.
I already had libusb-1.0-0-dev and build essentials installed so after executing your 2 apt-get commands apt reported nothing further installed.
I cut and pasted your compile command.

 dpkg -l | grep -i usb
ii  libgusb2:amd64                              0.1.6-5                                                     amd64        GLib wrapper around libusb1
ii  libusb-0.1-4:amd64                          2:0.1.12-23.3ubuntu1                                        amd64        userspace USB programming library
ii  libusb-1.0-0:amd64                          2:1.0.17-1ubuntu2                                           amd64        userspace USB programming library
ii  libusb-1.0-0:i386                           2:1.0.17-1ubuntu2                                           i386         userspace USB programming library
ii  libusb-1.0-0-dev:amd64                      2:1.0.17-1ubuntu2                                           amd64        userspace USB programming library development files
ii  libusbmuxd2                                 1.0.8-2ubuntu1                                              amd64        USB multiplexor daemon for iPhone and iPod Touch devices - library
ii  mintstick                                   1.2.6                                                       all          write .img and .iso files to USB sticks
ii  python-usb                                  0.4.3-1                                                     amd64        USB interface for Python
ii  usb-modeswitch                              2.1.1+repack0-1ubuntu1                                      amd64        mode switching tool for controlling "flip flop" USB devices
ii  usb-modeswitch-data                         20140327-1                                                  all          mode switching data for usb-modeswitch
ii  usbmuxd                                     1.0.8-2ubuntu1                                              amd64        USB multiplexor daemon for iPhone and iPod Touch devices
ii  usbutils                                    1:007-2ubuntu1                                              amd64        Linux USB utilities
ii  xserver-xorg-video-sisusb                   1:0.9.6-2build1                                             amd64        X.Org X server -- SiS USB display driver

I think my lib path is ok as ldd seems to find the libusb-1.0 lib


 ldd flir
   linux-vdso.so.1 =>  (0x00007ffcdd786000)
   libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f6e74610000)
   libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6e7424b000)
   libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f6e74039000)
   libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6e73e1b000)
   /lib64/ld-linux-x86-64.so.2 (0x00007f6e74852000)
   libcgmanager.so.0 => /lib/x86_64-linux-gnu/libcgmanager.so.0 (0x00007f6e73c00000)
   libnih.so.1 => /lib/x86_64-linux-gnu/libnih.so.1 (0x00007f6e739e7000)
   libnih-dbus.so.1 => /lib/x86_64-linux-gnu/libnih-dbus.so.1 (0x00007f6e737dd000)
   libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f6e73598000)
   librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6e7338f000)

I'll tried to use the FORCE  boolean and it makes no difference.  oops, that's only for android, my bad...;>P

could you send me your flir binary.
« Last Edit: December 10, 2015, 06:23:37 pm by cynfab »
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #58 on: December 10, 2015, 07:39:54 pm »
It's working on my system now,
I removed the lsusb_reset_device from main, and added a few prints to see what was going on and it's now reading data from EP 85!!
I think the reset device was screwing things up (differently) on our respective systems.
Now we can move on to do some real Thermal Imaging.
   ...ken...
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #59 on: December 10, 2015, 10:58:34 pm »
... and it's now reading data from EP 85!!

wow :-+

Really from EP 0x85 ? Please send me a terminal log from your F1 :palm:

I used your changed code on Mint and OSX ... and nothing happens on EP 0x83 and 0x85 ...
Code: [Select]
>>>>>>>>>>>>>>>>>bulk transfer (in) 0x83: LIBUSB_ERROR_OTHER
>>>>>>>>>>>>>>>>>bulk transfer (in) 0x85: LIBUSB_ERROR_OTHER

As I said, I rechecked every USB byte twice and I have the suspicion that there is a special sequence for opening the endpoint 0x85 like port knocking
https://en.wikipedia.org/wiki/Port_knocking.

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #60 on: December 11, 2015, 01:16:52 am »
took out some of the prints so the dump of the data from EP 85 wouldn't overwhelm my terminal.

Here is the terminal log and the code that generated it.

I would still like to try your binary.

  ...ken...
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #61 on: December 11, 2015, 11:20:14 am »
as attachment my binary and terminal log

I'm interested in your binary  ;)

Code: [Select]
$ ldd flir
linux-vdso.so.1 =>  (0x00007ffd3e51a000)
libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007fd5a8e9a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd5a8ad5000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007fd5a88c4000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd5a86a6000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd5a90b1000)
libcgmanager.so.0 => /lib/x86_64-linux-gnu/libcgmanager.so.0 (0x00007fd5a848b000)
libnih.so.1 => /lib/x86_64-linux-gnu/libnih.so.1 (0x00007fd5a8273000)
libnih-dbus.so.1 => /lib/x86_64-linux-gnu/libnih-dbus.so.1 (0x00007fd5a8069000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fd5a7e24000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fd5a7c1c000)
... no differences to your "ldd flir"
« Last Edit: December 11, 2015, 02:28:50 pm by tomas123 »
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #62 on: December 11, 2015, 11:31:04 am »
Hi cynfab,

please check, if your code is also working fine after changing the order of the string descriptors
a[8] = { 2,1,3,4,5,6,7};
and
if (a==3){
          r = libusb_set_configuration(devh, 3);

this part give as result:
Code: [Select]
libusb_get_string_descriptor langid=0x409
String descriptor 2: "FLIR ONE Camera"
String descriptor 1: "FLIR Systems"
String descriptor 3: "FLIRONEFXXXXXXXFFF"
Successfully set usb configuration 3
String descriptor 4: "SBIBDP Configuration"
String descriptor 5: "iAP Interface"
String descriptor 6: "com.flir.rosebud.fileio"
String descriptor 7: "com.flir.rosebud.frame"

Code: [Select]
    int  a[8] = { 2,1,3,4,5,6,7};
   
// Get all string descriptors.
for (i = 0; i <= 6; i++)
{

    r = libusb_get_string_descriptor(devh, a[i], langid, tbuf, 0xFF);

if (r >= 0)
{
//printf("String descriptor %u: \"%s\"\n", a[i], string_buffer);
int si, di;

for (di = 0, si = 2; si < tbuf[0]; si += 2) {
        if ((tbuf[si] & 0x80) || (tbuf[si + 1])) /* non-ASCII */
        string_buffer[di++] = '?';
        else
        string_buffer[di++] = tbuf[si];
        }
        string_buffer[di] = 0;
printf("String descriptor %u: \"%s\"\n", a[i], string_buffer);


} else {
fprintf(stderr, "libusb_get_string_descriptor wValue=%i error %d\n", a[i], r);
      goto out;
}

// after string_descriptor 0303 comes SET_CONFIGURATION = 03
if (a[i]==3){
r = libusb_set_configuration(devh, 3);
        if (r < 0) {
          fprintf(stderr, "libusb_set_configuration error %d\n", r);
          goto out;
          }
          printf("Successfully set usb configuration 3\n");

}
}

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #63 on: December 11, 2015, 03:11:49 pm »
Hi tomas123,
Your binary runs ok on my system. i.e. it reads from EP 83 & 85.
log attached.
Of interest is that I ran the code twice and the first time it got Camerafiles.zip from the device, the second time it did not. The camera was powered on continuously and the runs were less than a minuet apart.

Do you want me to change the order of descriptors? the code you posted is identical to what I have now.
I'll change it if you like, please say to what.
I don't think the order is the same as what I observed with my OV.

   ...ken...
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #64 on: December 11, 2015, 04:24:13 pm »
this is exact the mystic order, which you have logged in F6c.txt:

Code: [Select]
libusb_get_string_descriptor langid=0x409
String descriptor 2: "FLIR ONE Camera"
String descriptor 1: "FLIR Systems"
String descriptor 3: "FLIRONEFXXXXXXXFFF"
Successfully set usb configuration 3
String descriptor 4: "SBIBDP Configuration"
String descriptor 5: "iAP Interface"
String descriptor 6: "com.flir.rosebud.fileio"
String descriptor 7: "com.flir.rosebud.frame"

from your log F6c.txt:
Code: [Select]
0 bmRequestType = 80
1 bRequest = 06                          GET_DESCRIPTOR
2 wValue 0300 type (H) index (L)          type: String Descriptor (0x03)  // http://www.beyondlogic.org/usbnutshell/usb5.shtml#StringDescriptors
4 wIndex 00
5 wLength 00
DATA0: 80 06 00 03 00 00 ff 00 d4 64
-> String Descriptor result
     Offset Field Value
     0 bLength = 04
     1 bDescriptorType = 03
     2 bString 0409

 
--
0 bmRequestType = 80
1 bRequest = 06                     GET_DESCRIPTOR
2 wValue 0302 type (H) index (L)
4 wIndex 09
5 wLength 04
DATA0: 80 06 02 03 09 04 ff 00 97 db
-> String Descriptor result (FLIR ONE Camera)


--
0 bmRequestType = 80
1 bRequest = 06                     GET_DESCRIPTOR
2 wValue 0301 type (H) index (L)
4 wIndex 09
5 wLength 04
DATA0: 80 06 01 03 09 04 ff 00 97 e8
-> String Descriptor result (FLIR SYSTEMS)

--
0 bmRequestType = 80
1 bRequest = 06                     GET_DESCRIPTOR
2 wValue 0303 type (H) index (L)
4 wIndex 09
5 wLength 04
DATA0: 80 06 03 03 09 04 ff 00 96 0a
-> String Descriptor result (FLIRONEF03F6200xxxx)

--
0 bmRequestType = 00
1 bRequest = 09                     SET_CONFIGURATION     03
2 wValue 0003 type (H) index (L)
4 wIndex 00
5 wLength 00
DATA0: 00 09 03 00 00 00 00 00 26 c7

--
0 bmRequestType = 80
1 bRequest = 06                    GET_DESCRIPTOR
2 wValue 0304 type (H) index (L)
4 wIndex 09
5 wLength 04
DATA0: 80 06 04 03 09 04 ff 00 97 bd
-> String Descriptor result (SBI BDP Configuration)

--
0 bmRequestType = 80
1 bRequest = 06                    GET_DESCRIPTOR
2 wValue 0305 type (H) index (L)
4 wIndex 09
5 wLength 04
DATA0: 80 06 05 03 09 04 ff 00 96 6c
-> String Descriptor result (iAP Interface)

--
0 bmRequestType = 80
1 bRequest = 06                    GET_DESCRIPTOR
2 wValue 0306 type (H) index (L)
4 wIndex 09
5 wLength 04
DATA0: 80 06 06 03 09 04 ff 00 96 5f
-> String Descriptor result (com.flir.rosebud.fileio)

--
0 bmRequestType = 80
1 bRequest = 06                    GET_DESCRIPTOR
2 wValue 0307 type (H) index (L)
4 wIndex 09
5 wLength 04
DATA0: 80 06 07 03 09 04 ff 00 97 8e
-> String Descriptor result (com.flir.rosebud.frame)

Please change the order, so I know whether it is a key.

Otherwise I have the trouble, the the first different bytes on USB between our cameras is the serial number with "String descriptor 3: "FLIRONEFXXXXXXXFFF"
Is there a key, then it can be only placed after the string descriptor 3.

my suggest for a attempt is:

a[8] = { 1,2,3,4,5,6,7};
and
if (a==7){
          r = libusb_set_configuration(devh, 3);


I also can't find anything magic keys in the Flir One SDK java files. It looks like the magic seqeunce is arranged from the Android operating system (USB handshake).
But in your logfile F6c.txt nobody ask for "bConfigurationValue = 3"  but gives the command  "libusb_set_configuration(dev,0x03)" ... :-//
|O
« Last Edit: December 11, 2015, 04:51:05 pm by tomas123 »
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #65 on: December 11, 2015, 04:57:48 pm »
Here is the log, and code
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #66 on: December 11, 2015, 05:29:55 pm »
Great :-+

It's sure, that this changed order is not working??
Do you for test purposes unplugged the F1 from USB? 

Please poke a little around this code piece.
I'm very interested in!!
« Last Edit: December 11, 2015, 05:32:14 pm by tomas123 »
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #67 on: December 11, 2015, 05:54:11 pm »
Maybe not so great...
I moved the set config 3 around a bit and it still worked, then set it back to where it was when I last posted, and it worked.....
So I'm not sure what's going on, I'll keep poking at it.
Now that I'm getting frames, it would be nice to be able to see what they look like.
   ...ken...

After running that version several times, sometimes it works, sometimes not.
It seems like you can charge the battery at the same time the camera is running too. This will be good for unattended operation.
« Last Edit: December 11, 2015, 06:12:58 pm by cynfab »
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #68 on: December 11, 2015, 06:16:01 pm »
Hi cynfab,

you are the greatest!!! :-+ :-+
I searched for an old notebook and installed a clean Linux Mint 17 native to disc (no virtual machine).
And now it works fine.

The next step is to search the different between "your" Linux Mint and my systems (Ubuntu, OSX).

Thanks for your help.
« Last Edit: December 11, 2015, 06:17:46 pm by tomas123 »
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #69 on: December 11, 2015, 06:29:43 pm »
I found that when it doesn't work:

libusb_get_string_descriptor langid=0x409
String descriptor 1: "FLIR Systems"
String descriptor 2: "FLIR ONE Camera"
String descriptor 3: "FLIRONEF03F6200571F"
String descriptor 4: "SBIBDP Configuration"
String descriptor 5: "iAP Interface"
String descriptor 6: "com.flir.rosebud.fileio"
String descriptor 7: "com.flir.rosebud.frame"
Successfully set usb configuration 3
Successfully claimed interface 0,1,2
stop interface 1 FILEIO
stop interface 2 FRAME

start interface 1 FILEIO
Control Out error -1

If I try to start the interface again r=0, so maybe the start interface section needs to retry if it gets r=-1.

 

Online Fraser

  • Super Contributor
  • ***
  • Posts: 13148
  • Country: gb
Re: Question about FLIR One for Android
« Reply #70 on: December 11, 2015, 07:21:38 pm »
Fascinating reading guys. I do not pretend to understand most of it, but I like seeing your team work to solve problems. I hope your efforts are appreciated by others as well. Please keep posting updates as and when you have the time.

Fraser
If I have helped you please consider a donation : https://gofund.me/c86b0a2c
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #71 on: December 11, 2015, 07:55:02 pm »
The FlirONE is capable of better imaging than the FlirONE app shows.
The SDK is one way to that end, the other will be via the community developing applications that run on something other than Android devices with Flir's closed library.
I'm happy to be able to participate in this effort, as I did in the Seek RE effort.

   ...ken...
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #72 on: December 11, 2015, 10:42:53 pm »
happy our, on my Raspberry Pi the code also runs fine
I worked the last two weeks at wrong computers  |O

Code: [Select]
$ uname -a
Linux raspberryLCD 3.18.13-v7+ #784 SMP PREEMPT Sat May 9 15:57:36 BST 2015 armv7l GNU/Linux
$ /usr/bin/gcc -std=c99 '-I/usr/include/libusb-1.0' -o flir flir7f.c  -lusb-1.0
$ sudo ./flir
...
: Fri Dec 11 23:40:00 2015
 bulk read EP 0x85, actual length 166
HEX:
 7b 22 73 68 75 74 74 65 72 53 74 61 74 65 22 3a 22 4f 4e 22 2c 22 73 68 75 74 74 65 72 54 65 6d 70 65 72 61 74 75 72 65 22 3a 33 31 32 2e 32 33 39 39 39 30 32 33 34 33 37 35 2c 22 75 73 62 4e 6f 74 69 66 69 65 64 54 69 6d 65 73 74 61 6d 70 22 3a 31 31 37 34 36 37 32 30 31 30 2e 35 38 37 34 2c 22 75 73 62 45 6e 71 75 65 75 65 64 54 69 6d 65 73 74 61 6d 70 22 3a 31 31 37 34 36 37 32 30 31 30 2e 35 39 33 35 31 2c 22 66 66 63 53 74 61 74 65 22 3a 22 46 46 43 5f 56 41 4c 49 44 5f 52 41 44 22 7d 00
STRING:
{"shutterState":"ON","shutterTemperature":312.239990234375,"usbNotifiedTimestamp":1174672010.5874,"usbEnqueuedTimestamp":1174672010.59351,"ffcState":"FFC_VALID_RAD"}

: Fri Dec 11 23:40:01 2015
 bulk read EP 0x85, actual length 128208
HEX:
 cf 0b da 0b d2 0b cb 0b c6 0b cd 0b d0 0b cf 0b d2 0b d1 0b d0 0b ca 0b d0 0b cb 0b cb 0b cf 0b cb 0b c6 0b d2 0b cf 0b cd 0b db 0b d5 0b c8 0b cb 0b ce 0b ce 0b cb 0b cd 0b ca 0b d1 0b d1 0b d4 0b ca 0b d9 0b c6 0b ce 0b d6 0b d5 0b cc 0b ca 0b d9 0b c9 0b d5 0b d4 0b d7 0b d3 0b d3 0b cf 0b cf 0b d5 0b d6 0b d1 0b db 0b d7 0b da 0b d2 0b e5 0b e4 0b d3 0b e0 0b d8 0b d6 0b dd 0b e1 0b e8 0b d5 0b dc 0b d9 0b dc 0b de 0b d4 0b d6 0b d9 0b de 0b dc 0b 07 00 b5 7a e2 0b df 0b d8 0b e4 0b d4 0b df 0b d9 0b d8 0b d8 0b d7 0b d7 0b d9 0b e4 0b de 0b e0 0b d7 0b de 0b e3 0b d8 0b e7 0b dc 0b e5 0b e2 0b e6 0b f0 0b ea 0b e0 0b dc 0b de 0b e0 0b d3 0b de 0b d4 0b db 0b da 0b dd 0b e0 0b e2 0b e9 0b e0 0b e5 0b e2 0b ea 0b e2 0b e7 0b e6 0b e2 0b e7 0b e7 0b db 0b e5 0b eb 0b e5 0b e9 0b e8 0b e4 0b ec 0b ee 0b e6 0b e2 0b e5 0b e5 0b e5 0b e4 0b ed 0b de 0b e6 0b e2 0b ee 0b e4 0b f2 0b e8 0b
« Last Edit: December 11, 2015, 11:46:18 pm by tomas123 »
 

Offline cynfab

  • Regular Contributor
  • *
  • Posts: 175
  • Country: us
Re: Question about FLIR One for Android
« Reply #73 on: December 12, 2015, 01:20:24 am »
As it turns out you can remove the get string descriptors as well as a lot of other stuff and it still "works".
BUT I think there are some timing issues as this code doesn't always work, and sometimes the EP 85 reads come a lot faster than other times.

   ...ken...
 

Offline tomas123

  • Frequent Contributor
  • **
  • Posts: 832
  • Country: de
Re: Question about FLIR One for Android
« Reply #74 on: December 12, 2015, 09:22:06 am »
I think, the best way for stable code is to shorten the code exact to the USB initialization sequence of Flir SDK:
- flironesdk/usb/UsbCommunicator.java
- flironesdk/Device.java.

see my attachment flir7h.c

I moved the start/stop interface to state 1
Therefore we get while first loop a non ciritical error
bulk transfer (in) 0x81/0x83: LIBUSB_ERROR_TIMEOUT



Flir One with Raspberry Pi
Code: [Select]
$ /usr/bin/gcc -std=c99 '-I/usr/include/libusb-1.0' -o flir flir7i.c  -lusb-1.0
analyses of endpoint 0x85 frames 
use flir7i.c for saving the frames to disc, code needs 2/3 frames to sync (simple use only frames > 80Kb):

(1) first image inside the 0x85 frame is the RAW image:
32 Byte Header
then 164x120 2 Byte Little Endian

read with ImageJ http://imagej.nih.gov/ij/download.html
File/Import/RAW

or PS:
https://www.eevblog.com/forum/testgear/actual-resolution-of-flir-one-v2/msg797330/#msg797330

(2) second image is the visible image JPG 640x480
starts at byte 39880 with magic byte sequence  of jpeg "FF 08 FF C0"
Code: [Select]
$ dd if=EP0x85#00005.bin of=1.jpg bs=1 skip=39880
$ identify 1.jpg
1.jpg JPEG 640x480 640x480+0+0 8-bit sRGB 69.3KB 0.000u 0:00.000

(3) at the end a string with some status infomations
Code: [Select]
0001a8b0  ff d9 00 00 00 00 00 00  7b 22 73 68 75 74 74 65  |........{"shutte|
0001a8c0  72 53 74 61 74 65 22 3a  22 4f 4e 22 2c 22 73 68  |rState":"ON","sh|
0001a8d0  75 74 74 65 72 54 65 6d  70 65 72 61 74 75 72 65  |utterTemperature|
0001a8e0  22 3a 33 31 33 2e 35 31  39 39 38 39 30 31 33 36  |":313.5199890136|
0001a8f0  37 32 2c 22 75 73 62 4e  6f 74 69 66 69 65 64 54  |72,"usbNotifiedT|
0001a900  69 6d 65 73 74 61 6d 70  22 3a 31 31 37 34 37 31  |imestamp":117471|
0001a910  36 31 33 35 2e 37 34 35  37 33 2c 22 75 73 62 45  |6135.74573,"usbE|
0001a920  6e 71 75 65 75 65 64 54  69 6d 65 73 74 61 6d 70  |nqueuedTimestamp|
0001a930  22 3a 31 31 37 34 37 31  36 31 33 35 2e 37 34 37  |":1174716135.747|
0001a940  33 36 2c 22 66 66 63 53  74 61 74 65 22 3a 22 46  |36,"ffcState":"F|
0001a950  46 43 5f 56 41 4c 49 44  5f 52 41 44 22 7d 00     |FC_VALID_RAD"}.|

at usbEnqueuedTimestamp you see, that the frame rate is only 5 fps  :(
Code: [Select]
$ strings -n 60 EP0x85*.bin
{"shutterState":"ON","shutterTemperature":313.450012207031,"usbNotifiedTimestamp":1174716129.83373,"usbEnqueuedTimestamp":1174716129.83571,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.459991455078,"usbNotifiedTimestamp":1174716130.15704,"usbEnqueuedTimestamp":1174716130.15865,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.459991455078,"usbNotifiedTimestamp":1174716130.36589,"usbEnqueuedTimestamp":1174716130.36731,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.459991455078,"usbNotifiedTimestamp":1174716130.58713,"usbEnqueuedTimestamp":1174716130.5937,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.470001220703,"usbNotifiedTimestamp":1174716130.80297,"usbEnqueuedTimestamp":1174716130.80479,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.470001220703,"usbNotifiedTimestamp":1174716131.01766,"usbEnqueuedTimestamp":1174716131.0193,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.489990234375,"usbNotifiedTimestamp":1174716131.23305,"usbEnqueuedTimestamp":1174716131.2348,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.489990234375,"usbNotifiedTimestamp":1174716131.44797,"usbEnqueuedTimestamp":1174716131.44984,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.480010986328,"usbNotifiedTimestamp":1174716131.66307,"usbEnqueuedTimestamp":1174716131.6651,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.489990234375,"usbNotifiedTimestamp":1174716131.8858,"usbEnqueuedTimestamp":1174716131.88725,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.5,"usbNotifiedTimestamp":1174716132.1132,"usbEnqueuedTimestamp":1174716132.11485,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.489990234375,"usbNotifiedTimestamp":1174716132.34005,"usbEnqueuedTimestamp":1174716132.34374,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.489990234375,"usbNotifiedTimestamp":1174716132.5623,"usbEnqueuedTimestamp":1174716132.56389,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.5,"usbNotifiedTimestamp":1174716132.79527,"usbEnqueuedTimestamp":1174716132.79729,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.5,"usbNotifiedTimestamp":1174716133.01296,"usbEnqueuedTimestamp":1174716133.01477,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.5,"usbNotifiedTimestamp":1174716133.23994,"usbEnqueuedTimestamp":1174716133.24187,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.510009765625,"usbNotifiedTimestamp":1174716133.4633,"usbEnqueuedTimestamp":1174716133.46513,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.519989013672,"usbNotifiedTimestamp":1174716133.67718,"usbEnqueuedTimestamp":1174716133.6789,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.519989013672,"usbNotifiedTimestamp":1174716133.89206,"usbEnqueuedTimestamp":1174716133.89397,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.510009765625,"usbNotifiedTimestamp":1174716134.00615,"usbEnqueuedTimestamp":1174716134.00789,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.519989013672,"usbNotifiedTimestamp":1174716134.21907,"usbEnqueuedTimestamp":1174716134.22141,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.519989013672,"usbNotifiedTimestamp":1174716134.43391,"usbEnqueuedTimestamp":1174716134.43569,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.519989013672,"usbNotifiedTimestamp":1174716134.65212,"usbEnqueuedTimestamp":1174716134.65416,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.529998779297,"usbNotifiedTimestamp":1174716134.86733,"usbEnqueuedTimestamp":1174716134.86918,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.540008544922,"usbNotifiedTimestamp":1174716135.08135,"usbEnqueuedTimestamp":1174716135.08307,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.540008544922,"usbNotifiedTimestamp":1174716135.29754,"usbEnqueuedTimestamp":1174716135.29895,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.529998779297,"usbNotifiedTimestamp":1174716135.52014,"usbEnqueuedTimestamp":1174716135.52226,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.519989013672,"usbNotifiedTimestamp":1174716135.74573,"usbEnqueuedTimestamp":1174716135.74736,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.529998779297,"usbNotifiedTimestamp":1174716135.97042,"usbEnqueuedTimestamp":1174716135.97194,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.529998779297,"usbNotifiedTimestamp":1174716136.08966,"usbEnqueuedTimestamp":1174716136.09131,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.540008544922,"usbNotifiedTimestamp":1174716136.3133,"usbEnqueuedTimestamp":1174716136.31491,"ffcState":"FFC_VALID_RAD"}
{"shutterState":"ON","shutterTemperature":313.529998779297,"usbNotifiedTimestamp":1174716136.52721,"usbEnqueuedTimestamp":1174716136.53921,"ffcState":"FFC_VALID_RAD"}
« Last Edit: December 12, 2015, 03:09:37 pm by tomas123 »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf