testing with hardware
cli and function names
This commit is contained in:
parent
cd97face0f
commit
63aa397b78
@ -1,6 +1,10 @@
|
|||||||
#include "fan_speeeed.h"
|
#include "fan_speeeed.h"
|
||||||
#include "uart.h"
|
#include "uart.h"
|
||||||
|
|
||||||
|
uint16_t timer_period_ms = 1;
|
||||||
|
uint16_t fan_speed;
|
||||||
|
volatile uint16_t falling_edge_counter = 0;
|
||||||
|
|
||||||
void TCA0_init() {
|
void TCA0_init() {
|
||||||
TCA0.SINGLE.INTCTRL = TCA_SINGLE_OVF_bm ;
|
TCA0.SINGLE.INTCTRL = TCA_SINGLE_OVF_bm ;
|
||||||
TCA0.SINGLE.CTRLA = TCA_SINGLE_ENABLE_bm | TCA_SINGLE_CLKSEL_DIV1024_gc ; /* Sysclk /1024 */
|
TCA0.SINGLE.CTRLA = TCA_SINGLE_ENABLE_bm | TCA_SINGLE_CLKSEL_DIV1024_gc ; /* Sysclk /1024 */
|
||||||
@ -8,13 +12,13 @@ TCA0.SINGLE.PERBUF = 0x0F42;
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TCA0_update_period_ms() {
|
void TCA0_update_period_ms() {
|
||||||
TCA0.SINGLE.PERBUF = (F_CPU*(1/timer_period)/1024); /* F_CPU * F_IRQ / TCA_prescaler */
|
TCA0.SINGLE.PERBUF = (F_CPU*(1/timer_period_ms)/1024); /* F_CPU * F_IRQ / TCA_prescaler */
|
||||||
}
|
}
|
||||||
|
|
||||||
int read_input_get_RPM() {
|
uint16_t RPM_calculation() {
|
||||||
|
fan_speed = (falling_edge_counter/timer_period_ms)*6000*3;
|
||||||
fan_speed=(voltage_value_counter/timer_period)*6000*3;
|
falling_edge_counter= 0;
|
||||||
voltage_value_counter = 0;
|
printf("%u", fan_speed);
|
||||||
return fan_speed;
|
return fan_speed;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,12 +29,14 @@ void PORT_init(){
|
|||||||
|
|
||||||
|
|
||||||
ISR ( TCA0_OVF_vect ) {
|
ISR ( TCA0_OVF_vect ) {
|
||||||
read_input_get_RPM();
|
cli();
|
||||||
|
RPM_calculation();
|
||||||
|
|
||||||
TCA0.SINGLE.INTFLAGS = TCA_SINGLE_OVF_bm ;
|
TCA0.SINGLE.INTFLAGS = TCA_SINGLE_OVF_bm ;
|
||||||
|
sei();
|
||||||
}
|
}
|
||||||
|
|
||||||
ISR(PORTB_PORT_vect){
|
ISR(PORTB_PORT_vect){
|
||||||
PORTB.INTFLAGS = PIN2_bm;
|
PORTB.INTFLAGS = PIN2_bm;
|
||||||
voltage_value_counter ++;
|
falling_edge_counter ++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,16 +24,11 @@ extern "C" {
|
|||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include <avr/cpufunc.h>
|
#include <avr/cpufunc.h>
|
||||||
|
|
||||||
volatile uint16_t voltage_value_counter = 0;
|
|
||||||
int timer_period = 1;
|
|
||||||
int fan_speed;
|
|
||||||
|
|
||||||
void TCA0_init ();
|
void TCA0_init ();
|
||||||
void PORT_init();
|
void PORT_init();
|
||||||
|
|
||||||
void TCA0_update_period_ms ();
|
void TCA0_update_period_ms ();
|
||||||
int read_input_get_RPM();
|
uint16_t RPM_calculation();
|
||||||
int interrpt();
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -27,10 +27,13 @@
|
|||||||
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
read_input_get_RPM();
|
|
||||||
|
|
||||||
sei();
|
sei();
|
||||||
init_uart((uint16_t)9600);
|
init_uart((uint16_t)9600);
|
||||||
stdout = &USART_stream;
|
stdout = &USART_stream;
|
||||||
|
TCA0_init ();
|
||||||
|
PORT_init();
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
;
|
;
|
||||||
|
|||||||
@ -9,6 +9,11 @@
|
|||||||
<itemPath>fan_speeeed.h</itemPath>
|
<itemPath>fan_speeeed.h</itemPath>
|
||||||
<itemPath>themistor-temp.h</itemPath>
|
<itemPath>themistor-temp.h</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
|
<logicalFolder name="ExternalFiles"
|
||||||
|
displayName="Important Files"
|
||||||
|
projectFiles="true">
|
||||||
|
<itemPath>Makefile</itemPath>
|
||||||
|
</logicalFolder>
|
||||||
<logicalFolder name="LinkerScript"
|
<logicalFolder name="LinkerScript"
|
||||||
displayName="Linker Files"
|
displayName="Linker Files"
|
||||||
projectFiles="true">
|
projectFiles="true">
|
||||||
@ -22,11 +27,6 @@
|
|||||||
<itemPath>fan_speeeed.c</itemPath>
|
<itemPath>fan_speeeed.c</itemPath>
|
||||||
<itemPath>thermistor-temp.c</itemPath>
|
<itemPath>thermistor-temp.c</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="ExternalFiles"
|
|
||||||
displayName="Important Files"
|
|
||||||
projectFiles="false">
|
|
||||||
<itemPath>Makefile</itemPath>
|
|
||||||
</logicalFolder>
|
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<projectmakefile>Makefile</projectmakefile>
|
<projectmakefile>Makefile</projectmakefile>
|
||||||
<confs>
|
<confs>
|
||||||
@ -38,8 +38,8 @@
|
|||||||
<targetPluginBoard></targetPluginBoard>
|
<targetPluginBoard></targetPluginBoard>
|
||||||
<platformTool>nEdbgTool</platformTool>
|
<platformTool>nEdbgTool</platformTool>
|
||||||
<languageToolchain>XC8</languageToolchain>
|
<languageToolchain>XC8</languageToolchain>
|
||||||
<languageToolchainVersion>2.45</languageToolchainVersion>
|
<languageToolchainVersion>2.46</languageToolchainVersion>
|
||||||
<platform>2</platform>
|
<platform>3</platform>
|
||||||
</toolsSet>
|
</toolsSet>
|
||||||
<packs>
|
<packs>
|
||||||
<pack name="AVR-Dx_DFP" vendor="Microchip" version="2.3.272"/>
|
<pack name="AVR-Dx_DFP" vendor="Microchip" version="2.3.272"/>
|
||||||
@ -107,6 +107,7 @@
|
|||||||
</HI-TECH-COMP>
|
</HI-TECH-COMP>
|
||||||
<HI-TECH-LINK>
|
<HI-TECH-LINK>
|
||||||
<property key="additional-options-checksum" value=""/>
|
<property key="additional-options-checksum" value=""/>
|
||||||
|
<property key="additional-options-checksumAVR" value=""/>
|
||||||
<property key="additional-options-code-offset" value=""/>
|
<property key="additional-options-code-offset" value=""/>
|
||||||
<property key="additional-options-command-line" value=""/>
|
<property key="additional-options-command-line" value=""/>
|
||||||
<property key="additional-options-errata" value=""/>
|
<property key="additional-options-errata" value=""/>
|
||||||
@ -152,7 +153,52 @@
|
|||||||
<property key="remove-unused-sections" value="true"/>
|
<property key="remove-unused-sections" value="true"/>
|
||||||
</HI-TECH-LINK>
|
</HI-TECH-LINK>
|
||||||
<Tool>
|
<Tool>
|
||||||
|
<property key="AutoSelectMemRanges" value="auto"/>
|
||||||
|
<property key="communication.activationmode" value="nohv"/>
|
||||||
|
<property key="communication.interface" value="updi"/>
|
||||||
|
<property key="communication.speed" value="0,500"/>
|
||||||
|
<property key="debugoptions.debug-startup" value="Use system settings"/>
|
||||||
|
<property key="debugoptions.reset-behaviour" value="Use system settings"/>
|
||||||
<property key="debugoptions.useswbreakpoints" value="true"/>
|
<property key="debugoptions.useswbreakpoints" value="true"/>
|
||||||
|
<property key="event.recorder.debugger.behavior" value="Running"/>
|
||||||
|
<property key="event.recorder.enabled" value="false"/>
|
||||||
|
<property key="event.recorder.scvd.files" value=""/>
|
||||||
|
<property key="firmware.path"
|
||||||
|
value="Press to browse for a specific firmware version"/>
|
||||||
|
<property key="firmware.toolpack"
|
||||||
|
value="Press to select which tool pack to use"/>
|
||||||
|
<property key="firmware.update.action" value="firmware.update.use.latest"/>
|
||||||
|
<property key="freeze.timers" value="false"/>
|
||||||
|
<property key="lastid" value=""/>
|
||||||
|
<property key="memories.aux" value="false"/>
|
||||||
|
<property key="memories.bootflash" value="true"/>
|
||||||
|
<property key="memories.configurationmemory" value="true"/>
|
||||||
|
<property key="memories.configurationmemory2" value="true"/>
|
||||||
|
<property key="memories.dataflash" value="true"/>
|
||||||
|
<property key="memories.eeprom" value="true"/>
|
||||||
|
<property key="memories.exclude.configurationmemory" value="true"/>
|
||||||
|
<property key="memories.flashdata" value="true"/>
|
||||||
|
<property key="memories.id" value="true"/>
|
||||||
|
<property key="memories.instruction.ram.ranges"
|
||||||
|
value="${memories.instruction.ram.ranges}"/>
|
||||||
|
<property key="memories.programmemory" value="true"/>
|
||||||
|
<property key="memories.programmemory.ranges" value="0-ffff"/>
|
||||||
|
<property key="poweroptions.powerenable" value="false"/>
|
||||||
|
<property key="programoptions.eraseb4program" value="true"/>
|
||||||
|
<property key="programoptions.preservedataflash" value="false"/>
|
||||||
|
<property key="programoptions.preservedataflash.ranges"
|
||||||
|
value="${memories.dataflash.default}"/>
|
||||||
|
<property key="programoptions.preserveeeprom" value="false"/>
|
||||||
|
<property key="programoptions.preserveeeprom.ranges" value="1400-15ff"/>
|
||||||
|
<property key="programoptions.preserveprogram.ranges" value=""/>
|
||||||
|
<property key="programoptions.preserveprogramrange" value="false"/>
|
||||||
|
<property key="programoptions.preserveuserid" value="false"/>
|
||||||
|
<property key="programoptions.programuserotp" value="false"/>
|
||||||
|
<property key="toolpack.updateoptions"
|
||||||
|
value="toolpack.updateoptions.uselatestoolpack"/>
|
||||||
|
<property key="toolpack.updateoptions.packversion"
|
||||||
|
value="Press to select which tool pack to use"/>
|
||||||
|
<property key="voltagevalue" value=""/>
|
||||||
</Tool>
|
</Tool>
|
||||||
<XC8-CO>
|
<XC8-CO>
|
||||||
<property key="coverage-enable" value=""/>
|
<property key="coverage-enable" value=""/>
|
||||||
@ -177,7 +223,52 @@
|
|||||||
<property key="wpo-lto" value="false"/>
|
<property key="wpo-lto" value="false"/>
|
||||||
</XC8-config-global>
|
</XC8-config-global>
|
||||||
<nEdbgTool>
|
<nEdbgTool>
|
||||||
|
<property key="AutoSelectMemRanges" value="auto"/>
|
||||||
|
<property key="communication.activationmode" value="nohv"/>
|
||||||
|
<property key="communication.interface" value="updi"/>
|
||||||
|
<property key="communication.speed" value="0,500"/>
|
||||||
|
<property key="debugoptions.debug-startup" value="Use system settings"/>
|
||||||
|
<property key="debugoptions.reset-behaviour" value="Use system settings"/>
|
||||||
<property key="debugoptions.useswbreakpoints" value="true"/>
|
<property key="debugoptions.useswbreakpoints" value="true"/>
|
||||||
|
<property key="event.recorder.debugger.behavior" value="Running"/>
|
||||||
|
<property key="event.recorder.enabled" value="false"/>
|
||||||
|
<property key="event.recorder.scvd.files" value=""/>
|
||||||
|
<property key="firmware.path"
|
||||||
|
value="Press to browse for a specific firmware version"/>
|
||||||
|
<property key="firmware.toolpack"
|
||||||
|
value="Press to select which tool pack to use"/>
|
||||||
|
<property key="firmware.update.action" value="firmware.update.use.latest"/>
|
||||||
|
<property key="freeze.timers" value="false"/>
|
||||||
|
<property key="lastid" value=""/>
|
||||||
|
<property key="memories.aux" value="false"/>
|
||||||
|
<property key="memories.bootflash" value="true"/>
|
||||||
|
<property key="memories.configurationmemory" value="true"/>
|
||||||
|
<property key="memories.configurationmemory2" value="true"/>
|
||||||
|
<property key="memories.dataflash" value="true"/>
|
||||||
|
<property key="memories.eeprom" value="true"/>
|
||||||
|
<property key="memories.exclude.configurationmemory" value="true"/>
|
||||||
|
<property key="memories.flashdata" value="true"/>
|
||||||
|
<property key="memories.id" value="true"/>
|
||||||
|
<property key="memories.instruction.ram.ranges"
|
||||||
|
value="${memories.instruction.ram.ranges}"/>
|
||||||
|
<property key="memories.programmemory" value="true"/>
|
||||||
|
<property key="memories.programmemory.ranges" value="0-ffff"/>
|
||||||
|
<property key="poweroptions.powerenable" value="false"/>
|
||||||
|
<property key="programoptions.eraseb4program" value="true"/>
|
||||||
|
<property key="programoptions.preservedataflash" value="false"/>
|
||||||
|
<property key="programoptions.preservedataflash.ranges"
|
||||||
|
value="${memories.dataflash.default}"/>
|
||||||
|
<property key="programoptions.preserveeeprom" value="false"/>
|
||||||
|
<property key="programoptions.preserveeeprom.ranges" value="1400-15ff"/>
|
||||||
|
<property key="programoptions.preserveprogram.ranges" value=""/>
|
||||||
|
<property key="programoptions.preserveprogramrange" value="false"/>
|
||||||
|
<property key="programoptions.preserveuserid" value="false"/>
|
||||||
|
<property key="programoptions.programuserotp" value="false"/>
|
||||||
|
<property key="toolpack.updateoptions"
|
||||||
|
value="toolpack.updateoptions.uselatestoolpack"/>
|
||||||
|
<property key="toolpack.updateoptions.packversion"
|
||||||
|
value="Press to select which tool pack to use"/>
|
||||||
|
<property key="voltagevalue" value=""/>
|
||||||
</nEdbgTool>
|
</nEdbgTool>
|
||||||
</conf>
|
</conf>
|
||||||
</confs>
|
</confs>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user