CHDK_DE Vorschauversion  Trunk Rev. 5294
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
ptp.h-Dateireferenz
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define PTP_CHDK_VERSION_MAJOR   2
 
#define PTP_CHDK_VERSION_MINOR   8
 
#define PTP_OC_CHDK   0x9999
 
#define PTP_CHDK_TD_DOWNLOAD   0x1
 
#define PTP_CHDK_TD_CLEAR   0x2
 
#define PTP_CHDK_SL_LUA   0
 
#define PTP_CHDK_SL_UBASIC   1
 
#define PTP_CHDK_SL_MASK   0xFF
 
#define PTP_CHDK_SCRIPT_FL_NOKILL   0x100
 
#define PTP_CHDK_SCRIPT_FL_FLUSH_CAM_MSGS   0x200
 
#define PTP_CHDK_SCRIPT_FL_FLUSH_HOST_MSGS   0x400
 
#define PTP_CHDK_SCRIPT_STATUS_RUN   0x1
 
#define PTP_CHDK_SCRIPT_STATUS_MSG   0x2
 
#define PTP_CHDK_SCRIPT_SUPPORT_LUA   0x1
 
#define PTP_CHDK_GETMEM_MODE_DIRECT   0x0
 
#define PTP_CHDK_GETMEM_MODE_BUFFER   0x1
 
#define PTP_CHDK_CAPTURE_JPG   0x1
 
#define PTP_CHDK_CAPTURE_RAW   0x2
 
#define PTP_CHDK_CAPTURE_DNGHDR   0x4
 
#define PTP_CHDK_CAPTURE_NOTSET   0x10000000
 

Aufzählungen

enum  ptp_chdk_command {
  PTP_CHDK_Version = 0, PTP_CHDK_GetMemory, PTP_CHDK_SetMemory, PTP_CHDK_CallFunction,
  PTP_CHDK_TempData, PTP_CHDK_UploadFile, PTP_CHDK_DownloadFile, PTP_CHDK_ExecuteScript,
  PTP_CHDK_ScriptStatus, PTP_CHDK_ScriptSupport, PTP_CHDK_ReadScriptMsg, PTP_CHDK_WriteScriptMsg,
  PTP_CHDK_GetDisplayData, PTP_CHDK_RemoteCaptureIsReady, PTP_CHDK_RemoteCaptureGetData
}
 
enum  ptp_chdk_script_data_type {
  PTP_CHDK_TYPE_UNSUPPORTED = 0, PTP_CHDK_TYPE_NIL, PTP_CHDK_TYPE_BOOLEAN, PTP_CHDK_TYPE_INTEGER,
  PTP_CHDK_TYPE_STRING, PTP_CHDK_TYPE_TABLE
}
 
enum  ptp_chdk_script_msg_type { PTP_CHDK_S_MSGTYPE_NONE = 0, PTP_CHDK_S_MSGTYPE_ERR, PTP_CHDK_S_MSGTYPE_RET, PTP_CHDK_S_MSGTYPE_USER }
 
enum  ptp_chdk_script_error_type { PTP_CHDK_S_ERRTYPE_NONE = 0, PTP_CHDK_S_ERRTYPE_COMPILE, PTP_CHDK_S_ERRTYPE_RUN, PTP_CHDK_S_ERR_SCRIPTRUNNING = 0x1000 }
 
enum  ptp_chdk_script_msg_status { PTP_CHDK_S_MSGSTATUS_OK = 0, PTP_CHDK_S_MSGSTATUS_NOTRUN, PTP_CHDK_S_MSGSTATUS_QFULL, PTP_CHDK_S_MSGSTATUS_BADID }
 

Makro-Dokumentation

#define PTP_CHDK_CAPTURE_DNGHDR   0x4

Definiert in Zeile 171 der Datei ptp.h.

#define PTP_CHDK_CAPTURE_JPG   0x1

Definiert in Zeile 145 der Datei ptp.h.

#define PTP_CHDK_CAPTURE_NOTSET   0x10000000

Definiert in Zeile 174 der Datei ptp.h.

#define PTP_CHDK_CAPTURE_RAW   0x2

Definiert in Zeile 151 der Datei ptp.h.

#define PTP_CHDK_GETMEM_MODE_BUFFER   0x1

Definiert in Zeile 138 der Datei ptp.h.

#define PTP_CHDK_GETMEM_MODE_DIRECT   0x0

Definiert in Zeile 137 der Datei ptp.h.

#define PTP_CHDK_SCRIPT_FL_FLUSH_CAM_MSGS   0x200

Definiert in Zeile 126 der Datei ptp.h.

#define PTP_CHDK_SCRIPT_FL_FLUSH_HOST_MSGS   0x400

Definiert in Zeile 127 der Datei ptp.h.

#define PTP_CHDK_SCRIPT_FL_NOKILL   0x100

Definiert in Zeile 125 der Datei ptp.h.

#define PTP_CHDK_SCRIPT_STATUS_MSG   0x2

Definiert in Zeile 131 der Datei ptp.h.

#define PTP_CHDK_SCRIPT_STATUS_RUN   0x1

Definiert in Zeile 130 der Datei ptp.h.

#define PTP_CHDK_SCRIPT_SUPPORT_LUA   0x1

Definiert in Zeile 133 der Datei ptp.h.

#define PTP_CHDK_SL_LUA   0

Definiert in Zeile 120 der Datei ptp.h.

#define PTP_CHDK_SL_MASK   0xFF

Definiert in Zeile 122 der Datei ptp.h.

#define PTP_CHDK_SL_UBASIC   1

Definiert in Zeile 121 der Datei ptp.h.

#define PTP_CHDK_TD_CLEAR   0x2

Definiert in Zeile 114 der Datei ptp.h.

#define PTP_CHDK_TD_DOWNLOAD   0x1

Definiert in Zeile 113 der Datei ptp.h.

#define PTP_CHDK_VERSION_MAJOR   2

Definiert in Zeile 9 der Datei ptp.h.

#define PTP_CHDK_VERSION_MINOR   8

Definiert in Zeile 10 der Datei ptp.h.

#define PTP_OC_CHDK   0x9999

Definiert in Zeile 29 der Datei ptp.h.

Dokumentation der Aufzählungstypen

Aufzählungswerte
PTP_CHDK_Version 
PTP_CHDK_GetMemory 
PTP_CHDK_SetMemory 
PTP_CHDK_CallFunction 
PTP_CHDK_TempData 
PTP_CHDK_UploadFile 
PTP_CHDK_DownloadFile 
PTP_CHDK_ExecuteScript 
PTP_CHDK_ScriptStatus 
PTP_CHDK_ScriptSupport 
PTP_CHDK_ReadScriptMsg 
PTP_CHDK_WriteScriptMsg 
PTP_CHDK_GetDisplayData 
PTP_CHDK_RemoteCaptureIsReady 
PTP_CHDK_RemoteCaptureGetData 

Definiert in Zeile 32 der Datei ptp.h.

32  {
33  PTP_CHDK_Version = 0, // return param1 is major version number
34  // return param2 is minor version number
35  PTP_CHDK_GetMemory, // param2 is base address (direct may fail on MMIO etc. Use buffered for those)
36  // param3 is size (in bytes)
37  // param4 is options: 0 read directly, 1 buffer. Other values reserved
38  // return data is memory block
39  PTP_CHDK_SetMemory, // param2 is address
40  // param3 is size (in bytes)
41  // data is new memory block
42  PTP_CHDK_CallFunction, // data is array of function pointer and 32 bit int arguments (max: 10 args prior to protocol 2.5)
43  // return param1 is return value
44  PTP_CHDK_TempData, // data is data to be stored for later
45  // param2 is for the TD flags below
46  PTP_CHDK_UploadFile, // data is 4-byte length of filename, followed by filename and contents
47  PTP_CHDK_DownloadFile, // preceded by PTP_CHDK_TempData with filename
48  // return data are file contents
49  PTP_CHDK_ExecuteScript, // data is script to be executed
50  // param2 is language of script
51  // in proto 2.6 and later, language is the lower byte, rest is used for PTP_CHDK_SCRIPT_FL* flags
52  // return param1 is script id, like a process id
53  // return param2 is status from ptp_chdk_script_error_type
54  PTP_CHDK_ScriptStatus, // Script execution status
55  // return param1 bits
56  // PTP_CHDK_SCRIPT_STATUS_RUN is set if a script running, cleared if not
57  // PTP_CHDK_SCRIPT_STATUS_MSG is set if script messages from script waiting to be read
58  // all other bits and params are reserved for future use
59  PTP_CHDK_ScriptSupport, // Which scripting interfaces are supported in this build
60  // param1 CHDK_PTP_SUPPORT_LUA is set if lua is supported, cleared if not
61  // all other bits and params are reserved for future use
62  PTP_CHDK_ReadScriptMsg, // read next message from camera script system
63  // return param1 is chdk_ptp_s_msg_type
64  // return param2 is message subtype:
65  // for script return and users this is ptp_chdk_script_data_type
66  // for error ptp_chdk_script_error_type
67  // return param3 is script id of script that generated the message
68  // return param4 is length of the message data.
69  // return data is message.
70  // A minimum of 1 bytes of zeros is returned if the message has no data (empty string or type NONE)
71  PTP_CHDK_WriteScriptMsg, // write a message for scripts running on camera
72  // input param2 is target script id, 0=don't care. Messages for a non-running script will be discarded
73  // data length is handled by ptp data phase
74  // input messages do not have type or subtype, they are always a string destined for the script (similar to USER/string)
75  // output param1 is ptp_chdk_script_msg_status
76  PTP_CHDK_GetDisplayData, // Return camera display data
77  // This is defined as separate sub protocol in live_view.h
78  // Changes to the sub-protocol will always be considered a minor change to the main protocol
79  // param2 bitmask of data
80  // output param1 = total size of data
81  // return data is protocol information, frame buffer descriptions and selected display data
82  // Currently a data phase is always returned. Future versions may define other behavior
83  // for values in currently unused parameters.
84  // Direct image capture over USB.
85  // Use lua get_usb_capture_support for available data types, lua init_usb_capture for setup
86  PTP_CHDK_RemoteCaptureIsReady, // Check if data is available
87  // return param1 is status
88  // 0 = not ready
89  // 0x10000000 = remote capture not initialized
90  // otherwise bitmask of PTP_CHDK_CAPTURE_* datatypes
91  // return param2 is image number
92  PTP_CHDK_RemoteCaptureGetData // retrieve data
93  // param2 is bit indicating data type to get
94  // return param1 is length
95  // return param2 more chunks available?
96  // 0 = no more chunks of selected format
97  // return param3 seek required to pos (-1 = no seek)
98 };
Aufzählungswerte
PTP_CHDK_TYPE_UNSUPPORTED 
PTP_CHDK_TYPE_NIL 
PTP_CHDK_TYPE_BOOLEAN 
PTP_CHDK_TYPE_INTEGER 
PTP_CHDK_TYPE_STRING 
PTP_CHDK_TYPE_TABLE 

Definiert in Zeile 101 der Datei ptp.h.

101  {
102  PTP_CHDK_TYPE_UNSUPPORTED = 0, // type name will be returned in data
106  PTP_CHDK_TYPE_STRING, // Empty strings are returned with length=0
107  PTP_CHDK_TYPE_TABLE, // tables are converted to a string by usb_msg_table_to_string,
108  // this function can be overridden in lua to change the format
109  // the string may be empty for an empty table
110 };
Aufzählungswerte
PTP_CHDK_S_ERRTYPE_NONE 
PTP_CHDK_S_ERRTYPE_COMPILE 
PTP_CHDK_S_ERRTYPE_RUN 
PTP_CHDK_S_ERR_SCRIPTRUNNING 

Definiert in Zeile 186 der Datei ptp.h.

186  {
190  // the following are for ExecuteScript status only, not message types
191  PTP_CHDK_S_ERR_SCRIPTRUNNING = 0x1000, // script already running with NOKILL
192 };
Aufzählungswerte
PTP_CHDK_S_MSGSTATUS_OK 
PTP_CHDK_S_MSGSTATUS_NOTRUN 
PTP_CHDK_S_MSGSTATUS_QFULL 
PTP_CHDK_S_MSGSTATUS_BADID 

Definiert in Zeile 195 der Datei ptp.h.

195  {
196  PTP_CHDK_S_MSGSTATUS_OK = 0, // queued ok
197  PTP_CHDK_S_MSGSTATUS_NOTRUN, // no script is running
198  PTP_CHDK_S_MSGSTATUS_QFULL, // queue is full
199  PTP_CHDK_S_MSGSTATUS_BADID, // specified ID is not running
200 };
Aufzählungswerte
PTP_CHDK_S_MSGTYPE_NONE 
PTP_CHDK_S_MSGTYPE_ERR 
PTP_CHDK_S_MSGTYPE_RET 
PTP_CHDK_S_MSGTYPE_USER 

Definiert in Zeile 177 der Datei ptp.h.

177  {
178  PTP_CHDK_S_MSGTYPE_NONE = 0, // no messages waiting
179  PTP_CHDK_S_MSGTYPE_ERR, // error message
180  PTP_CHDK_S_MSGTYPE_RET, // script return value
181  PTP_CHDK_S_MSGTYPE_USER, // message queued by script
182 // TODO chdk console data ?
183 };