ESP_IOT
v2.5
IOT ESP Coding
M5Atom_CameraModuleClass.cpp
Go to the documentation of this file.
1
//
2
// M5Atom_CameraModuleClass.cpp
3
// ESP_IOT
4
//
5
// Created by Scott Moody on 8/16/25.
6
//
7
8
#include "
M5Atom_CameraModuleClass.h
"
9
10
11
#ifdef USE_CAMERA_MODULE
12
#include "../CameraModule/CameraModule.h"
13
#endif
14
15
M5Atom_CameraModuleClass::M5Atom_CameraModuleClass
(
char
*config) :
M5AtomClassType
(config)
16
{
17
SerialDebug.printf(
"M5Atom_CameraModuleClass init %s\n"
, config);
18
19
}
20
21
22
//! Data members of class
23
//! Generic config info .. specific the the sensor type
24
25
//!starts the PTStepper
26
void
M5Atom_CameraModuleClass::start_M5AtomClassType
()
27
{
28
29
}
30
31
//!setup the PTStepper
32
void
M5Atom_CameraModuleClass::setup_M5AtomClassType
()
33
{
34
#ifdef USE_CAMERA_MODULE
35
//! call setup from CameraModule
36
setup_CameraModule();
37
#endif
38
39
//! 8.16.25 register our PIN use
40
registerPinUse_mainModule
(4,
"CameraPinOut"
,
"M5Atom_CameraModuleClass"
,
false
);
41
42
SerialDebug.println(
"M5Atom_CameraModuleClass.setup"
);
43
}
44
45
//! stops motor
46
void
M5Atom_CameraModuleClass::stop_M5AtomClassType
()
47
{
48
}
49
50
//!setup the PTStepper
51
void
M5Atom_CameraModuleClass::loop_M5AtomClassType
()
52
{
53
#ifdef USE_CAMERA_MODULE
54
loop_CameraModule();
55
#endif
56
}
57
58
//! ATOM specific
59
60
//! these are from the ATOM
61
62
//! 8.28.23 Adding a way for others to get informed on messages that arrive
63
//! for the set,val
64
//! 12.27.23 support setName == "QRCode"
65
//! 1.10.24 if deviceNameSpecified then this matches this device, otherwise for all.
66
//! It's up to the receiver to decide if it has to be specified
67
void
M5Atom_CameraModuleClass::messageSetVal_M5AtomClassType
(
char
*setName,
char
* valValue,
boolean
deviceNameSpecified)
68
{
69
//messageSetVal_M5CameraModule(setName, valValue, deviceNameSpecified);
70
SerialDebug.printf(
"camera.set %s val: %s\n"
, setName, valValue);
71
72
}
73
74
//! 12.28.23, 8.28.23 Adding a way for others to get informed on messages that arrive
75
//! for the send -
76
void
M5Atom_CameraModuleClass::messageSend_M5AtomClassType
(
char
*sendValue,
boolean
deviceNameSpecified)
77
{
78
SerialDebug.printf(
"camera.send: %s nameSpecified=%d\n"
, sendValue, deviceNameSpecified);
79
if
(
containsSubstring
(sendValue,
"capture"
) ||
containsSubstring
(sendValue,
"CAPTURE"
))
80
{
81
SerialDebug.println(
"takePicture_CameraModule"
);
82
#ifdef USE_CAMERA_MODULE
83
takePicture_CameraModule();
84
#endif
85
}
86
}
87
88
//! BUTTON PROCESSING abstraction
89
//!short press on buttonA (top button)
90
void
M5Atom_CameraModuleClass::buttonA_ShortPress_M5AtomClassType
()
91
{
92
//buttonA_ShortPress_M5CameraModule();
93
}
94
//!long press on buttonA (top button)
95
void
M5Atom_CameraModuleClass::buttonA_LongPress_M5AtomClassType
()
96
{
97
//buttonA_LongPress_M5CameraModule();
98
}
99
100
//! for status
101
char
_cameraStatusBuffer
[100];
102
103
//!returns a string in in URL so: status&battery=84'&buzzon='off' } .. etc
104
//!starts with "&"*
105
char
*
M5Atom_CameraModuleClass::currentStatusURL_M5AtomClassType
()
106
{
107
//! 8.4.25 add k=GPS
108
sprintf(
_cameraStatusBuffer
,
"camera=on"
);
109
return
(
char
*)
_cameraStatusBuffer
;
110
}
111
112
//!returns a string in in JSON so: status&battery=84'&buzzon='off' } .. etc
113
//!starts with "&"*
114
char
*
M5Atom_CameraModuleClass::currentStatusJSON_M5AtomClassType
()
115
{
116
sprintf(
_cameraStatusBuffer
,
"'camera':'on'"
);
117
return
(
char
*)
_cameraStatusBuffer
;
118
}
119
_cameraStatusBuffer
char _cameraStatusBuffer[100]
for status
Definition:
M5Atom_CameraModuleClass.cpp:101
M5Atom_CameraModuleClass.h
registerPinUse_mainModule
void registerPinUse_mainModule(long pin, String pinName, String moduleName, boolean isI2C)
Definition:
MainModule.cpp:3370
containsSubstring
bool containsSubstring(String message, String substring)
check if the string contains the other string. This is a poor man's grammer checker
Definition:
MainModule.cpp:396
M5Atom_CameraModuleClass::messageSetVal_M5AtomClassType
void messageSetVal_M5AtomClassType(char *setName, char *valValue, boolean deviceNameSpecified)
ATOM specific.
Definition:
M5Atom_CameraModuleClass.cpp:67
M5Atom_CameraModuleClass::currentStatusJSON_M5AtomClassType
char * currentStatusJSON_M5AtomClassType()
Definition:
M5Atom_CameraModuleClass.cpp:114
M5Atom_CameraModuleClass::start_M5AtomClassType
void start_M5AtomClassType()
starts the PTStepper
Definition:
M5Atom_CameraModuleClass.cpp:26
M5Atom_CameraModuleClass::stop_M5AtomClassType
void stop_M5AtomClassType()
stops motor
Definition:
M5Atom_CameraModuleClass.cpp:46
M5Atom_CameraModuleClass::messageSend_M5AtomClassType
void messageSend_M5AtomClassType(char *sendValue, boolean deviceNameSpecified)
Definition:
M5Atom_CameraModuleClass.cpp:76
M5Atom_CameraModuleClass::M5Atom_CameraModuleClass
M5Atom_CameraModuleClass(char *config)
constructor
Definition:
M5Atom_CameraModuleClass.cpp:15
M5Atom_CameraModuleClass::buttonA_LongPress_M5AtomClassType
void buttonA_LongPress_M5AtomClassType()
long press on buttonA (top button)
Definition:
M5Atom_CameraModuleClass.cpp:95
M5Atom_CameraModuleClass::buttonA_ShortPress_M5AtomClassType
void buttonA_ShortPress_M5AtomClassType()
Definition:
M5Atom_CameraModuleClass.cpp:90
M5Atom_CameraModuleClass::loop_M5AtomClassType
void loop_M5AtomClassType()
setup the PTStepper
Definition:
M5Atom_CameraModuleClass.cpp:51
M5Atom_CameraModuleClass::setup_M5AtomClassType
void setup_M5AtomClassType()
setup the PTStepper
Definition:
M5Atom_CameraModuleClass.cpp:32
M5Atom_CameraModuleClass::currentStatusURL_M5AtomClassType
char * currentStatusURL_M5AtomClassType()
Definition:
M5Atom_CameraModuleClass.cpp:105
M5AtomClassType
An mostly virtual class.
Definition:
M5AtomClassType.h:15
src
M5AtomClassModule
M5Atom_CameraModuleClass.cpp
Generated on Tue Aug 19 2025 13:00:31 for ESP_IOT by
1.9.5