resets array and puts diode readings in array
This commit is contained in:
parent
8b5b4e186a
commit
dc8a858204
@ -23,6 +23,8 @@ extern "C" {
|
||||
#include <avr/interrupt.h>
|
||||
#include <avr/io.h>
|
||||
#include <avr/cpufunc.h>
|
||||
#include "voltage.h"
|
||||
|
||||
int RTC_init();
|
||||
int read_array_get_RPM(int voltage_value);
|
||||
inline void put_in_array();
|
||||
|
||||
@ -1,5 +1,13 @@
|
||||
|
||||
|
||||
|
||||
#include "fan speeeed.h"
|
||||
|
||||
int voltage_value_counter = 0;
|
||||
int voltage_value [30];
|
||||
|
||||
|
||||
|
||||
RTC.PITCTRLA = RTC_PERIOD_CYC32768_gc | RTC_PITEN_bm;
|
||||
|
||||
int RTC_init() {
|
||||
@ -42,31 +50,35 @@ int RTC_init() {
|
||||
|
||||
}
|
||||
// skal lage en som finner data hvert ... sekund. Datane skal samles inn i en array. Når arrayen er full skal jeg regne ut rpm. Vet t det er ... mange sek mellom så blir enklere. så noe signalbehandling shit.
|
||||
int read_array_get_RPM(int voltage_value) {
|
||||
int read_array_get_RPM() {
|
||||
|
||||
f = ((1 / t)*1000);
|
||||
fan_speed = (f * 60) / 2;
|
||||
|
||||
return fan_speed;
|
||||
}
|
||||
|
||||
inline void put_in_array() {
|
||||
int voltage_value [30] = {};
|
||||
for(int i = 0; i <30; i++)
|
||||
scanf("%d", &voltage_value[i]);
|
||||
|
||||
voltage_values[voltage_value_counter] = read_photodiode_voltage();
|
||||
voltage_value_counter++;
|
||||
}
|
||||
|
||||
void reset_voltage_array(){
|
||||
for(int i = 0; i < voltage_values_counter; i++){
|
||||
voltage_values[i]= 0;
|
||||
}
|
||||
voltage_value_counter = 0;
|
||||
}
|
||||
|
||||
|
||||
ISR(RTC_PIT_vect) {
|
||||
RTC.PITINTFLAGS = RTC_PI_bm;
|
||||
|
||||
if(voltage_value_counter < sizeof(voltage_values)/sizeof(voltage_value[0])){
|
||||
put_in_array();
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
sei();
|
||||
else{
|
||||
read_array_get_RPM();
|
||||
RTC_init();
|
||||
while (1) {
|
||||
reset_voltage_array();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -22,15 +22,18 @@
|
||||
#include <util/delay.h>
|
||||
#include <stdint.h>
|
||||
#include "themistor-temp.h"
|
||||
#include "fan speeeed.h"
|
||||
|
||||
|
||||
int main() {
|
||||
sensor_init();
|
||||
ADC0_init();
|
||||
RTC_init();
|
||||
sei();
|
||||
init_uart((uint16_t)9600);
|
||||
stdout = &USART_stream;
|
||||
|
||||
while (1) {
|
||||
uint16_t adcVal = voltage_values();
|
||||
printf("The values: \n%u , %u\n",VREF_REFSEL_VDD_gc , adcVal);
|
||||
;
|
||||
}
|
||||
}
|
||||
@ -6,6 +6,8 @@
|
||||
projectFiles="true">
|
||||
<itemPath>themistor-temp.h</itemPath>
|
||||
<itemPath>fan speeeed.h</itemPath>
|
||||
<itemPath>uart.h</itemPath>
|
||||
<itemPath>voltage.h</itemPath>
|
||||
</logicalFolder>
|
||||
<logicalFolder name="ExternalFiles"
|
||||
displayName="Important Files"
|
||||
@ -21,8 +23,14 @@
|
||||
projectFiles="true">
|
||||
<itemPath>main.c</itemPath>
|
||||
<itemPath>thermistor-temp.c</itemPath>
|
||||
<itemPath>uart.c</itemPath>
|
||||
<itemPath>voltage.c</itemPath>
|
||||
<itemPath>fan speeeeeeeed.c</itemPath>
|
||||
</logicalFolder>
|
||||
</logicalFolder>
|
||||
<sourceRootList>
|
||||
<Elem>.</Elem>
|
||||
</sourceRootList>
|
||||
<projectmakefile>Makefile</projectmakefile>
|
||||
<confs>
|
||||
<conf name="default" type="2">
|
||||
|
||||
@ -8,7 +8,9 @@
|
||||
<make-project-type>0</make-project-type>
|
||||
<sourceEncoding>ISO-8859-1</sourceEncoding>
|
||||
<make-dep-projects/>
|
||||
<sourceRootList/>
|
||||
<sourceRootList>
|
||||
<sourceRootElem>.</sourceRootElem>
|
||||
</sourceRootList>
|
||||
<confList>
|
||||
<confElem>
|
||||
<name>default</name>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user