Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1702 - 1
#include <inttypes.h>
2
#include <avr/pgmspace.h>
3
 
4
#include <Max3421e.h>
5
#include <Max3421e_constants.h>
6
#include <Max_LCD.h>
7
#include <Usb.h>
8
 
9
#include <ptp.h>
10
 
11
#define DEV_ADDR        1
12
 
13
// Nikon CoolPix P100
14
#define DATA_IN_EP      2
15
#define DATA_OUT_EP     1
16
#define INTERRUPT_EP    3
17
#define CONFIG_NUM      1
18
 
19
// Canon
20
//#define DATA_IN_EP      1
21
//#define DATA_OUT_EP     2
22
//#define INTERRUPT_EP    3
23
//#define CONFIG_NUM      1
24
 
25
#define MAX_USB_STRING_LEN 64
26
 
27
class CamStateHandlers : public PTPStateHandlers
28
{
29
      bool stateConnected;
30
 
31
public:
32
      CamStateHandlers() : stateConnected(false) {};
33
 
34
      virtual void OnDeviceDisconnectedState(PTP *ptp);
35
      virtual void OnDeviceInitializedState(PTP *ptp);
36
} CamStates;
37
 
38
PTP  Ptp(DEV_ADDR, DATA_IN_EP, DATA_OUT_EP, INTERRUPT_EP, CONFIG_NUM, &CamStates);
39
 
40
void CamStateHandlers::OnDeviceDisconnectedState(PTP *ptp)
41
{
42
    if (stateConnected)
43
    {
44
        stateConnected = false;
45
        Notify(PSTR("Camera disconnected\r\n"));
46
    }
47
}
48
 
49
void CamStateHandlers::OnDeviceInitializedState(PTP *ptp)
50
{
51
    if (!stateConnected)
52
    {
53
        stateConnected = true;
54
 
55
        Ptp.CaptureImage();
56
        delay(1000);
57
    }
58
}
59
 
60
void setup() {
61
  Serial.begin( 115200 );
62
  Serial.println("Start");
63
  Ptp.Setup();
64
  delay( 200 );
65
}
66
 
67
void loop()
68
{
69
    Ptp.Task();
70
}
71