1.USB debugged

2.Added modules
This commit is contained in:
AlexeiBazlaev 2021-01-04 13:30:00 +07:00
parent b2244f9083
commit b837c2aef0
13 changed files with 105 additions and 14 deletions

Binary file not shown.

View File

@ -1678,7 +1678,7 @@
<Compile Include="src\ASF\sam0\utils\syscalls\gcc\syscalls.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="src\include\adc_user.c">
<Compile Include="src\include\adc_user.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="src\include\dac_user.h">
@ -1696,7 +1696,7 @@
<Compile Include="src\main.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="src\source\adc_user.h">
<Compile Include="src\source\adc_user.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="src\source\dac_user.c">

View File

@ -0,0 +1,28 @@
/*
* adc.h
*
* Created: 03.01.2021 23:34:13
* Author: Lexus
*/
#ifndef ADC_H_
#define ADC_H_
#define chan_NTC_MCU ADC_POSITIVE_INPUT_PIN1
#define chan_NTC_TEC ADC_POSITIVE_INPUT_PIN5
#define chan_LFB ADC_POSITIVE_INPUT_PIN19
#define chan_CS ADC_POSITIVE_INPUT_PIN4
#define chan_SFB ADC_POSITIVE_INPUT_PIN18
#define chan_VTEC ADC_POSITIVE_INPUT_PIN6
#define chan_ITEC ADC_POSITIVE_INPUT_PIN7
typedef enum adc_positive_input ADC_chan_t;
void configure_adc(void);
uint16_t adc_read_value(void);
float adc_get_V(uint16_t value);
float adc_get_Q(uint16_t value);
uint16_t adc_read_value_spec(ADC_chan_t);
float adc_get_V_spec(ADC_chan_t chan);
#endif /* ADC_H_ */

View File

@ -9,6 +9,6 @@
#ifndef DAC_USER_H_
#define DAC_USER_H_
void configure_dac_channel(void)
void configure_dac_channel(void);
#endif /* DAC_USER_H_ */

View File

@ -10,6 +10,6 @@
#define REALSENCE_H_
void rs_configure_port_pins(void);
void rs_set(bool value);
void rs_set(_Bool value);
#endif /* REALSENCE_H_ */

View File

@ -9,7 +9,7 @@
#ifndef TMPGOOD_H_
#define TMPGOOD_H_
void tmpgood_configure_port_pins(void)
bool tmpgood_get_state(void)
void tmpgood_configure_port_pins(void);
_Bool tmpgood_get_state(void);
#endif /* TMPGOOD_H_ */

View File

@ -9,6 +9,6 @@
#ifndef WS2812_H_
#define WS2812_H_
void ws2812_configure_port_pins(void)
void ws2812_configure_port_pins(void);
#endif /* WS2812_H_ */

View File

@ -0,0 +1,55 @@
/*
* adc.c
*
* Created: 03.01.2021 23:33:58
* Author: Lexus
*/
#include "adc_user.h"
#include "adc.h"
struct adc_module adc_instance;
// init ADC
void configure_adc(void)
{
struct adc_config config_adc;
adc_get_config_defaults(&config_adc);
config_adc.positive_input = ADC_POSITIVE_INPUT_PIN1;
config_adc.negative_input = ADC_NEGATIVE_INPUT_GND;
config_adc.reference = ADC_REFERENCE_INTVCC0;
config_adc.resolution = ADC_RESOLUTION_12BIT;
config_adc.gain_factor = ADC_GAIN_FACTOR_1X;
config_adc.gain_factor = ADC_GAIN_FACTOR_DIV2;
config_adc.clock_prescaler = ADC_CLOCK_PRESCALER_DIV512; // prescaler influence to accuracy of measures. Don't set less then 32
adc_init(&adc_instance, ADC, &config_adc);
adc_enable(&adc_instance);
}
uint16_t adc_read_value(void){
adc_start_conversion(&adc_instance);
uint16_t result;
do {
/* Wait for conversion to be done and read out result */
} while (adc_read(&adc_instance, &result) == STATUS_BUSY);
return result;
}
uint16_t adc_read_value_spec(ADC_chan_t chan)
{
adc_set_positive_input(&adc_instance, chan);
return adc_read_value();
}
float adc_get_Q(uint16_t value){
float gane_factor=0.5;
float vref_k=1.0/1.48;
float ADC_range = 4096.0;
return (value*vref_k)/(gane_factor*ADC_range);
}
float adc_get_V(uint16_t value){
float Uvcc=3.3;
return adc_get_Q(value) * Uvcc;
}

View File

@ -8,7 +8,7 @@
#ifndef ADC_H_
#define ADC_H_
#include <stdint-gcc.h>
#define chan_NTC_MCU ADC_POSITIVE_INPUT_PIN1
#define chan_NTC_TEC ADC_POSITIVE_INPUT_PIN5
#define chan_LFB ADC_POSITIVE_INPUT_PIN19
@ -19,10 +19,10 @@
typedef enum adc_positive_input ADC_chan_t;
void configure_adc(void)
uint16_t adc_read_value(void)
float adc_get_V(uint16_t value)
float adc_get_Q(uint16_t value)
void configure_adc(void);
uint16_t adc_read_value(void);
float adc_get_V(uint16_t value);
float adc_get_Q(uint16_t value);
uint16_t adc_read_value_spec(ADC_chan_t);
float adc_get_V_spec(ADC_chan_t chan);
#endif /* ADC_H_ */

View File

@ -4,6 +4,7 @@
* Created: 04.01.2021 0:51:07
* Author: Lexus
*/
#include <dac.h>
#include "dac_user.h"
struct dac_module dac_instance;
void configure_dac_channel(void)

View File

@ -5,6 +5,8 @@
* Author: Lexus
*/
#include "realsence.h"
#include "port.h"
#include "conf_board.h"
bool rs_power;
void rs_configure_port_pins(void)
@ -16,7 +18,7 @@ void rs_configure_port_pins(void)
port_pin_set_config(PIN_RS_POWER, &config_port_pin);
}
void rs_set(bool value){
void rs_set(_Bool value){
port_pin_set_output_level(PIN_RS_POWER, value?0:1);
rs_power = value;
}

View File

@ -4,6 +4,8 @@
* Created: 03.01.2021 23:22:04
* Author: Lexus
*/
#include "conf_board.h"
#include "port.h"
void tmpgood_configure_port_pins(void)
{
struct port_config config_port_pin;
@ -13,7 +15,7 @@ void tmpgood_configure_port_pins(void)
port_pin_set_config(TC_TMPGD, &config_port_pin);
}
bool tmpgood_get_state(void)
_Bool tmpgood_get_state(void)
{
return port_pin_get_input_level(TC_TMPGD);
}

View File

@ -4,6 +4,9 @@
* Created: 03.01.2021 23:00:57
* Author: Lexus
*/
#include "ws2812.h"
#include "conf_board.h"
#include "port.h"
void ws2812_configure_port_pins(void)
{