Reflow oven controller firmware
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

34 lines
844 B

/* profile.h */
#ifndef _PROFILE_H_
#define _PROFILE_H_
#include "common.h"
void set_profile_temperature(temp_t temp);
temp_t get_profile_temperature(uint8_t row);
uint32_t profile_time(uint8_t line);
temp_t temperature_at_time(uint32_t time);
void set_profile_time(uint8_t row, uint16_t time, uint8_t time_units);
uint16_t profile_get_time(uint8_t row);
uint8_t profile_get_time_units(uint8_t row);
void profile_select(uint8_t n);
void profile_save(void);
typedef struct profile_line {
uint16_t temperature; /* store degrees C * 10 reference to absolute zero */
unsigned int time:14;
unsigned int time_units:2;
} profile_line_t;
#define PROFILE_NAME_LENGTH 6
typedef struct profile {
char name[PROFILE_NAME_LENGTH];
uint16_t start_temp;
profile_line_t lines[6];
} profile_t;
extern profile_t *profile_p;
#endif