max4619: extra pin
This commit is contained in:
parent
18a0277284
commit
d646d9ad14
|
@ -25,9 +25,10 @@ static inline void zap_init(enum zap_component zc) {
|
||||||
if (zc & zap_crowbar) zap_crowbar_init();
|
if (zc & zap_crowbar) zap_crowbar_init();
|
||||||
if (zc & zap_dac) zap_dac_init();
|
if (zc & zap_dac) zap_dac_init();
|
||||||
if (zc & zap_gpio) zap_gpio_init(false, true);
|
if (zc & zap_gpio) zap_gpio_init(false, true);
|
||||||
if (zc & zap_max4619) zap_max_init(false);
|
if (zc & zap_max4619) zap_max_init(false, false);
|
||||||
if (zc & zap_picoemp) zap_picoemp_init();
|
if (zc & zap_picoemp) zap_picoemp_init();
|
||||||
}
|
}
|
||||||
|
// TODO: deinit stuff (also in submodules)
|
||||||
|
|
||||||
static inline void zap_init_default(void) {
|
static inline void zap_init_default(void) {
|
||||||
zap_init(zap_adc | zap_crowbar | zap_dac | zap_gpio | zap_max4619);
|
zap_init(zap_adc | zap_crowbar | zap_dac | zap_gpio | zap_max4619);
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
#include "zap_max4619.h"
|
#include "zap_max4619.h"
|
||||||
|
|
||||||
void zap_max_init(bool inhibit) {
|
void zap_max_init(bool inhibit, bool use_jp300) {
|
||||||
const io_rw_32 pinmask = 1u << ZAP_GLITCH_OUT;
|
const io_rw_32 pinmask = 1u << ZAP_GLITCH_OUT;
|
||||||
|
|
||||||
sio_hw->gpio_clr = pinmask; // default to low -> JP300
|
sio_hw->gpio_clr = pinmask; // default to low -> JP300
|
||||||
|
@ -18,6 +18,10 @@ void zap_max_init(bool inhibit) {
|
||||||
gpio_set_drive_strength(ZAP_GLITCH_OUT, GPIO_DRIVE_STRENGTH_12MA);
|
gpio_set_drive_strength(ZAP_GLITCH_OUT, GPIO_DRIVE_STRENGTH_12MA);
|
||||||
gpio_set_function(ZAP_GLITCH_OUT, GPIO_FUNC_SIO);
|
gpio_set_function(ZAP_GLITCH_OUT, GPIO_FUNC_SIO);
|
||||||
|
|
||||||
|
gpio_put(ZAP_MAX_VHI_SW, use_jp300);
|
||||||
|
gpio_set_dir(ZAP_MAX_VHI_SW, GPIO_OUT);
|
||||||
|
gpio_set_function(ZAP_MAX_VHI_SW, GPIO_FUNC_SIO);
|
||||||
|
|
||||||
gpio_put(ZAP_MAX_INHIBIT, inhibit);
|
gpio_put(ZAP_MAX_INHIBIT, inhibit);
|
||||||
gpio_set_dir(ZAP_MAX_INHIBIT, GPIO_OUT);
|
gpio_set_dir(ZAP_MAX_INHIBIT, GPIO_OUT);
|
||||||
gpio_set_function(ZAP_MAX_INHIBIT, GPIO_FUNC_SIO);
|
gpio_set_function(ZAP_MAX_INHIBIT, GPIO_FUNC_SIO);
|
||||||
|
|
|
@ -8,13 +8,18 @@
|
||||||
|
|
||||||
#include "zap_pinout.h"
|
#include "zap_pinout.h"
|
||||||
|
|
||||||
void zap_max_init(bool inhibit);
|
void zap_max_init(bool inhibit, bool use_jp300);
|
||||||
|
|
||||||
static inline void zap_max_set_inhibit(bool inhibit) {
|
static inline void zap_max_set_inhibit(bool inhibit) {
|
||||||
if (inhibit) sio_hw->gpio_set = 1u << ZAP_MAX_INHIBIT;
|
if (inhibit) sio_hw->gpio_set = 1u << ZAP_MAX_INHIBIT;
|
||||||
else sio_hw->gpio_clr = 1u << ZAP_MAX_INHIBIT;
|
else sio_hw->gpio_clr = 1u << ZAP_MAX_INHIBIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void zap_max_use_vhi_jp300(bool use_jp300 /* if false: use Vdac1 */) {
|
||||||
|
if (use_jp300) sio_hw->gpio_set = 1u << ZAP_MAX_VHI_SW;
|
||||||
|
else sio_hw->gpio_clr = 1u << ZAP_MAX_VHI_SW;
|
||||||
|
}
|
||||||
|
|
||||||
static inline void zap_max_put(bool low) {
|
static inline void zap_max_put(bool low) {
|
||||||
if (low) sio_hw->gpio_set = 1u << ZAP_GLITCH_OUT;
|
if (low) sio_hw->gpio_set = 1u << ZAP_GLITCH_OUT;
|
||||||
else sio_hw->gpio_clr = 1u << ZAP_GLITCH_OUT;
|
else sio_hw->gpio_clr = 1u << ZAP_GLITCH_OUT;
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#define ZAP_CROWBAR_2 13
|
#define ZAP_CROWBAR_2 13
|
||||||
|
|
||||||
#define ZAP_MAX_INHIBIT 16
|
#define ZAP_MAX_INHIBIT 16
|
||||||
|
#define ZAP_MAX_VHI_SW 21
|
||||||
#define ZAP_GPIO_ENABLE 22
|
#define ZAP_GPIO_ENABLE 22
|
||||||
|
|
||||||
#define ZAP_DAC_SPI spi0
|
#define ZAP_DAC_SPI spi0
|
||||||
|
|
Loading…
Reference in New Issue