/**
 * @file exo_ahw_al_psm_stub.c
 *
 * @brief This file contains abstracted stub function for power sense monitor
 *
 * @copyright Copyright 2023 Antaris, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <stdio.h>
#include <stdlib.h>
#include "exo_ahw_al_psm_common.h"


#ifndef __weak
   #define __weak   __attribute__((weak))
#endif /* __weak */

__weak hal_ret_sts ahw_al_psm_init(ahw_al_psm_hdle* hpsm_arg, ahw_inst_id_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}

__weak hal_ret_sts ahw_al_psm_deinit(ahw_al_psm_hdle* hpsm_arg, ahw_inst_id_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts	 ahw_al_psm_read_id(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}

__weak hal_ret_sts ahw_al_psm_reset(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_set_calibration(uint32_t ahw_id, uint16_t calibration)
{
	return HAL_DRIVER_DISABLED;
}
__weak uint16_t ahw_al_psm_get_calibration(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts  ahw_al_psm_alert_pinconfig(uint32_t ahw_id,ahw_al_psm_alert_pin_cfg_t *alert_pin_cfg)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_set_alertfunction(uint32_t ahw_id,psm_alert_function_t alert_function)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_get_alertfunction(uint32_t ahw_id,psm_alert_function_t alert_function)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_setvbusthreshold(uint32_t ahw_id, float vbusthreshold)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts  ahw_al_psm_getvbusthreshold(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}

__weak hal_ret_sts  ahw_al_psm_setvshuntthreshold(uint32_t ahw_id, float vshuntthreshold)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_getshuntthreshold(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_set_current_threshold(uint32_t ahw_id, float current_threshold)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_setpowerthreshold(uint32_t ahw_id, uint32_t powerthreshold)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts ahw_al_psm_getpowerthreshold(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}

__weak hal_ret_sts ahw_al_psm_startconversion(uint32_t ahw_id, psm_input_signal_t inputsignal, psm_operating_mode_t mode)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts  ahw_al_psm_stopconversion(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak float   ahw_al_psm_get_vbus(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak float ahw_al_psm_get_vshunt(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak uint32_t  ahw_al_psm_get_power(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak float ahw_al_psm_get_current(uint32_t ahw_id)
{
	return HAL_DRIVER_DISABLED;
}
__weak hal_ret_sts   ahw_al_psm_get_flag(uint32_t ahw_id, psm_flag_t flag)
{
	return HAL_DRIVER_DISABLED;
}



