1
0
forked from me/IronOS

Ts80 Tuned a bit better, Ts100 WiP

This commit is contained in:
Ben V. Brown
2019-07-13 22:54:07 +10:00
parent 74b225ceaa
commit c5409f4f1b
8 changed files with 166 additions and 143 deletions

View File

@@ -16,7 +16,7 @@ extern "C" {
enum Orientation {
ORIENTATION_LEFT_HAND = 0, ORIENTATION_RIGHT_HAND = 1, ORIENTATION_FLAT = 3
};
#define PID_TIM_HZ (16)
#if defined(MODEL_TS100) + defined(MODEL_TS80) > 1
#error "Multiple models defined!"
#elif defined(MODEL_TS100) + defined(MODEL_TS80) == 0

View File

@@ -2,23 +2,22 @@
* Power.hpp
*
* Created on: 28 Oct, 2018
* Authors: Ben V. Brown, David Hilton
* Authors: Ben V. Brown, David Hilton (David's Idea)
*/
#include "stdint.h"
#include <history.hpp>
#include "hardware.h"
#ifndef POWER_HPP_
#define POWER_HPP_
const uint8_t hz = 32;//PID loop rate
const uint8_t oscillationPeriod = 3.5 * hz; // dampening look back tuning
const uint8_t oscillationPeriod = 4 * PID_TIM_HZ; // I term look back value
extern history<uint32_t, oscillationPeriod> milliWattHistory;
void setupPower(uint8_t resistance);
int32_t tempToMilliWatts(int32_t rawTemp, uint16_t mass, uint8_t rawC);
int32_t tempToMilliWatts(int32_t rawTemp, uint8_t rawC);
void setTipMilliWatts(int32_t mw);
uint8_t milliWattsToPWM(int32_t milliWatts, uint8_t divisor,uint8_t sample=0);
int32_t PWMToMilliWatts(uint8_t pwm, uint8_t divisor);
uint8_t milliWattsToPWM(int32_t milliWatts, uint8_t divisor,
uint8_t sample = 0);
int32_t PWMToMilliWatts(uint8_t pwm, uint8_t divisor, uint8_t sample = 0);
#endif /* POWER_HPP_ */