-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcalculation.h
41 lines (38 loc) · 1.45 KB
/
calculation.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
* calculation.h
*
* Created: 15.10.2014 15:05:57
* Author: Hubert
*/
#include <avr/io.h>
#include <avr/eeprom.h>
#ifndef CALCULATION_H_
#define CALCULATION_H_
typedef struct vol_val{
int8_t integer;
uint8_t fraction;
}voltage_value_t;
uint16_t calculate_range(uint8_t fuel, float consumption);
voltage_value_t calculate_voltage1(uint16_t adc);
voltage_value_t calculate_voltage2(uint16_t adc);
voltage_value_t calculate_voltage3(uint16_t adc);
voltage_value_t calculate_voltage4(uint16_t adc);
void sprint_voltage(char* str,voltage_value_t voltage);
void sprint_voltage_precision(char* str,voltage_value_t voltage, uint8_t prec);
void sprint_temperature(char* str,int16_t temperature);
void uint8_to_string(char* str, uint8_t integer);
void uint16_to_string(char* str, uint16_t integer);
void int16_to_string(char* str, int16_t integer);
int16_t calculate_manifold(uint16_t adc);
int16_t calculate_ambient_temperature(uint16_t adc);
int16_t calculate_oil_temperature(uint16_t adc);
int16_t calculate_gearbox_temperature(uint16_t adc);
void stringcopy(char* source, char* destination, uint8_t length);
void sprint_cur_speed(char* str, uint16_t integer);
void sprint_avg_speed(char* str, uint16_t integer);
void sprint_float(char* str, float _float);
void calculate_consumption(uint16_t delta_ul, uint32_t delta_ms);
void calculate_averages(void);
void sprint_distance(char* str, uint64_t distance);
uint32_t round_distance(uint32_t distance);
#endif /* CALCULATION_H_ */