I'm working on implementing the PTP protocol in kotlin for some things I'm playing around with and the descriptions in ptp.h are helpful, but I have some points of confusion on the description I could use help with if anyone knows the answers off-hand.......Other than that ptp looks pretty straightforward, thanks to all devs for the amazing work!!!
Hi chdk'ers, this is my first post!!! I'm working on implementing the PTP protocol in kotlin for some things I'm playing around with and the descriptions in ptp.h are helpful, but I have some points of confusion on the description I could use help with if anyone knows the answers off-hand.
I've noticed that Live view only returns a data message and not a response message. Is it standard for the PTP flow to not return a seperate response when data is returned (Can I expect the same behavior from GetMemory/etc...)?
The relationship between TempData and DownloadFile is confusing even with the description.
As I read it, the flow looks like:Send TempData command with Download (and possibly clear flag)
Get response from TempDataCommand
Send DownloadFile CommandReceive download file data (and at this point tempdata will be cleared if clear flag was included)
Send a data packet with the encoded filename
RemoteCaptureGetData, I haven't gone too deep into this yet because deciphering the interplay between lua and ptp will take some work, it would be nice to see the typical flow for what is expected to be sent/recieved for a single retrieval.
Based on the comment in ptp.h, so far I'm wondering what does "return param3 seek required to pos (-1 = no seek)" mean? Is that param3 supposed to be used somewhere on the client side or is it just informational
PTP_CHDK_S_ERR_SCRIPTRUNNING = 0x1000, // script already running with NOKILL... Does this mean the previous call was run with the nokill flag and that makes it durable, or that the current call is run with the nokill flag and therefore errors out instead of killing the script that is running?
#define PTP_CHDK_SCRIPT_FL_NOKILL 0x100 // if script is running return error instead of killing
Stuck on something new, I have executescript and readscriptmessage working, but when I try to run write_usb_msg("foo") through ptp execute script, when I read the message I get: :1: attempt to call global 'write_usb_message' (a nil value)
thanks, that was it, my internal monologue is leaking into the code, time to quit for the night
From ptp.h, I understand that requesting the DNG Header and Raw data is separate, but does this mean that the raw data is just packed pixels with no metadata?
Is there a description of the DNG header anywhere or can someone suggest some reference material for tiff/exif/dng? I don't know c well enough to pull it from code unless it's in an obvious struct, and I can't follow the chdkptp lua code because it looks like a lot of utility methods accessing a shared state object to do lua table or c interop operations I don't understand. And all I can find on google is "buy adobe's 60 page tiff/ep ISO document"
dngload test.dngdnginfo -ifd=0 -r
Started by _MAG_
« 1 2 3 4 5 »
DSLR Hack development
Started by mattkime
Started by europanorama
Started by rudi
General Discussion and Assistance
Started by waterwingz
Forum related topics (including issues)