0
mirror of https://gitlab.com/hyperglitch/jellyfish.git synced 2025-12-27 15:16:46 +00:00
2025-07-20 02:55:03 +02:00

44 lines
1.2 KiB
C

/*
* SPDX-FileCopyrightText: 2025 Igor Brkic <igor@hyperglitch.com>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
#include "jf_routing.h"
#include "main.h"
void jf_routing_output_en(bool en) {
HAL_GPIO_WritePin(ENABLE_OUTPUT_GPIO_Port, ENABLE_OUTPUT_Pin, en ? GPIO_PIN_SET : GPIO_PIN_RESET);
}
bool jf_routing_output_status(void) {
return HAL_GPIO_ReadPin(ENABLE_OUTPUT_GPIO_Port, ENABLE_OUTPUT_Pin);
}
void jf_routing_iso_en(bool en) {
HAL_GPIO_WritePin(ENABLE_ISO_GPIO_Port, ENABLE_ISO_Pin, en ? GPIO_PIN_SET : GPIO_PIN_RESET);
}
bool jf_routing_iso_status(void) {
return HAL_GPIO_ReadPin(ENABLE_ISO_GPIO_Port, ENABLE_ISO_Pin);
}
void jf_routing_extin_en(bool en) {
HAL_GPIO_WritePin(ENABLE_EXT_IN_GPIO_Port, ENABLE_EXT_IN_Pin, en ? GPIO_PIN_SET : GPIO_PIN_RESET);
}
bool jf_routing_extin_status(void) {
return HAL_GPIO_ReadPin(ENABLE_EXT_IN_GPIO_Port, ENABLE_EXT_IN_Pin);
}
void jf_routing_init() {
// enable ideal diode controllers
HAL_GPIO_WritePin(ENABLE_USB1_GPIO_Port, ENABLE_USB1_Pin, 1);
HAL_GPIO_WritePin(ENABLE_DC_GPIO_Port, ENABLE_DC_Pin, 1);
// disable the isolation
jf_routing_iso_en(false);
// disable the external input
jf_routing_extin_en(false);
}