stmhal/dac: DAC deinit() method added.
This commit is contained in:
parent
ee009d713a
commit
641300dccb
|
@ -66,6 +66,10 @@ Methods
|
||||||
|
|
||||||
Reinitialise the DAC. ``bits`` can be 8 or 12.
|
Reinitialise the DAC. ``bits`` can be 8 or 12.
|
||||||
|
|
||||||
|
.. method:: dac.deinit()
|
||||||
|
|
||||||
|
De-initialise the DAC making its pin available for other uses.
|
||||||
|
|
||||||
.. method:: dac.noise(freq)
|
.. method:: dac.noise(freq)
|
||||||
|
|
||||||
Generate a pseudo-random noise signal. A new random sample is written
|
Generate a pseudo-random noise signal. A new random sample is written
|
||||||
|
|
16
stmhal/dac.c
16
stmhal/dac.c
|
@ -246,6 +246,21 @@ STATIC mp_obj_t pyb_dac_init(mp_uint_t n_args, const mp_obj_t *args, mp_map_t *k
|
||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_dac_init_obj, 1, pyb_dac_init);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_dac_init_obj, 1, pyb_dac_init);
|
||||||
|
|
||||||
|
/// \method deinit()
|
||||||
|
/// Turn off the DAC, enable other use of pin.
|
||||||
|
STATIC mp_obj_t pyb_dac_deinit(mp_obj_t self_in) {
|
||||||
|
pyb_dac_obj_t *self = self_in;
|
||||||
|
if (self->dac_channel == DAC_CHANNEL_1) {
|
||||||
|
DAC_Handle.Instance->CR &= ~DAC_CR_EN1;
|
||||||
|
DAC_Handle.Instance->CR |= DAC_CR_BOFF1;
|
||||||
|
} else {
|
||||||
|
DAC_Handle.Instance->CR &= ~DAC_CR_EN2;
|
||||||
|
DAC_Handle.Instance->CR |= DAC_CR_BOFF2;
|
||||||
|
}
|
||||||
|
return mp_const_none;
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_dac_deinit_obj, pyb_dac_deinit);
|
||||||
|
|
||||||
#if defined(TIM6)
|
#if defined(TIM6)
|
||||||
/// \method noise(freq)
|
/// \method noise(freq)
|
||||||
/// Generate a pseudo-random noise signal. A new random sample is written
|
/// Generate a pseudo-random noise signal. A new random sample is written
|
||||||
|
@ -461,6 +476,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_dac_write_timed_obj, 1, pyb_dac_write_time
|
||||||
STATIC const mp_map_elem_t pyb_dac_locals_dict_table[] = {
|
STATIC const mp_map_elem_t pyb_dac_locals_dict_table[] = {
|
||||||
// instance methods
|
// instance methods
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_init), (mp_obj_t)&pyb_dac_init_obj },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_init), (mp_obj_t)&pyb_dac_init_obj },
|
||||||
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_deinit), (mp_obj_t)&pyb_dac_deinit_obj },
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_write), (mp_obj_t)&pyb_dac_write_obj },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_write), (mp_obj_t)&pyb_dac_write_obj },
|
||||||
#if defined(TIM6)
|
#if defined(TIM6)
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_noise), (mp_obj_t)&pyb_dac_noise_obj },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_noise), (mp_obj_t)&pyb_dac_noise_obj },
|
||||||
|
|
Loading…
Reference in New Issue