Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
25a8a424
Commit
25a8a424
authored
May 18, 2015
by
Josef Gajdusek
Committed by
Paul Sokolovsky
May 28, 2015
Browse files
esp8266: Add pyb.ADC class
parent
492fd5cb
Changes
5
Hide whitespace changes
Inline
Side-by-side
esp8266/Makefile
View file @
25a8a424
...
...
@@ -57,6 +57,7 @@ SRC_C = \
modpyb.c
\
modpybpin.c
\
modpybrtc.c
\
modpybadc.c
\
modesp.c
\
modutime.c
\
moduos.c
\
...
...
esp8266/modpyb.c
View file @
25a8a424
...
...
@@ -165,6 +165,7 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = {
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_hard_reset
),
(
mp_obj_t
)
&
pyb_hard_reset_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_Pin
),
(
mp_obj_t
)
&
pyb_pin_type
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_ADC
),
(
mp_obj_t
)
&
pyb_adc_type
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_RTC
),
(
mp_obj_t
)
&
pyb_rtc_obj
},
};
...
...
esp8266/modpyb.h
View file @
25a8a424
extern
const
mp_obj_type_t
pyb_pin_type
;
extern
const
mp_obj_type_t
pyb_adc_type
;
extern
const
mp_obj_base_t
pyb_rtc_obj
;
esp8266/modpybadc.c
0 → 100644
View file @
25a8a424
/*
* This file is part of the Micro Python project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2015 Josef Gajdusek
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include
<stdio.h>
#include
<string.h>
#include
"py/nlr.h"
#include
"py/obj.h"
#include
"py/runtime.h"
#include MICROPY_HAL_H
#include
"user_interface.h"
const
mp_obj_type_t
pyb_adc_type
;
typedef
struct
_pyb_adc_obj_t
{
mp_obj_base_t
base
;
bool
isvdd
;
}
pyb_adc_obj_t
;
STATIC
pyb_adc_obj_t
pyb_adc_vdd3
=
{{
&
pyb_adc_type
},
true
};
STATIC
pyb_adc_obj_t
pyb_adc_adc
=
{{
&
pyb_adc_type
},
false
};
STATIC
mp_obj_t
pyb_adc_make_new
(
mp_obj_t
type_in
,
mp_uint_t
n_args
,
mp_uint_t
n_kw
,
const
mp_obj_t
*
args
)
{
mp_arg_check_num
(
n_args
,
n_kw
,
1
,
1
,
false
);
mp_int_t
chn
=
mp_obj_get_int
(
args
[
0
]);
switch
(
chn
)
{
case
0
:
return
&
pyb_adc_adc
;
case
1
:
return
&
pyb_adc_vdd3
;
default:
nlr_raise
(
mp_obj_new_exception_msg_varg
(
&
mp_type_ValueError
,
"not a valid ADC Channel: %d"
,
chn
));
}
}
STATIC
mp_obj_t
pyb_adc_read
(
mp_obj_t
self_in
)
{
pyb_adc_obj_t
*
adc
=
self_in
;
if
(
adc
->
isvdd
)
{
return
mp_obj_new_int
(
system_get_vdd33
());
}
else
{
return
mp_obj_new_int
(
system_adc_read
());
}
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_1
(
pyb_adc_read_obj
,
pyb_adc_read
);
STATIC
const
mp_map_elem_t
pyb_adc_locals_dict_table
[]
=
{
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_read
),
(
mp_obj_t
)
&
pyb_adc_read_obj
}
};
STATIC
MP_DEFINE_CONST_DICT
(
pyb_adc_locals_dict
,
pyb_adc_locals_dict_table
);
const
mp_obj_type_t
pyb_adc_type
=
{
{
&
mp_type_type
},
.
name
=
MP_QSTR_ADC
,
.
make_new
=
pyb_adc_make_new
,
.
locals_dict
=
(
mp_obj_t
)
&
pyb_adc_locals_dict
,
};
esp8266/qstrdefsport.h
View file @
25a8a424
...
...
@@ -101,6 +101,10 @@ Q(RTC)
Q
(
datetime
)
Q
(
memory
)
// ADC
Q
(
ADC
)
Q
(
read
)
// utime
Q
(
utime
)
Q
(
localtime
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment