cleanup code
This commit is contained in:
parent
250cfbdf2a
commit
147f08464a
20
src/MPPT.c
20
src/MPPT.c
@ -1,6 +1,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <ti/drivers/PWM.h>
|
#include <ti/drivers/PWM.h>
|
||||||
|
|
||||||
|
#include "debug.h"
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "MPPT.h"
|
#include "MPPT.h"
|
||||||
#include "spi.h"
|
#include "spi.h"
|
||||||
@ -8,7 +9,7 @@
|
|||||||
#define PWM_MIN 0.001
|
#define PWM_MIN 0.001
|
||||||
#define PWM_MAX 0.9
|
#define PWM_MAX 0.9
|
||||||
|
|
||||||
uint8_t mppt_setpoint, mppt_setpointOverrite, mppt_vermogen;
|
uint8_t mppt_setpoint = 0xff, mppt_setpointOverrite, mppt_vermogen;
|
||||||
uint8_t *mppt_setpointP;
|
uint8_t *mppt_setpointP;
|
||||||
|
|
||||||
PWM_Handle mppt_pwm;
|
PWM_Handle mppt_pwm;
|
||||||
@ -42,11 +43,25 @@ void mppt_init(){
|
|||||||
params.periodValue = 10; // 100 kHz
|
params.periodValue = 10; // 100 kHz
|
||||||
mppt_pwm = PWM_open(CONFIG_PWM_0, ¶ms);
|
mppt_pwm = PWM_open(CONFIG_PWM_0, ¶ms);
|
||||||
if (mppt_pwm == NULL) {
|
if (mppt_pwm == NULL) {
|
||||||
while (1);
|
ERROR("faild to open PWM");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mppt_setpointP = &mppt_setpoint;
|
mppt_setpointP = &mppt_setpoint;
|
||||||
mppt_start();
|
mppt_start();
|
||||||
|
|
||||||
|
// whit until it recevs a valid setpoint
|
||||||
|
while(mppt_setpoint > 250)
|
||||||
|
usleep(1e3);
|
||||||
|
|
||||||
|
// Update status
|
||||||
|
if(Status == INIT){
|
||||||
|
Status = MPPT_READY;
|
||||||
|
}else if(Status == NOODSTOP_READY){
|
||||||
|
Status = ALL_READY;
|
||||||
|
}else{
|
||||||
|
ERROR("invalid Status");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void mppt_setPWM(double d){
|
void mppt_setPWM(double d){
|
||||||
@ -134,6 +149,7 @@ void mppt_start(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void mppt_deinit(){
|
void mppt_deinit(){
|
||||||
|
mppt_setpoint = 0xff;
|
||||||
mppt_setPWM(0);
|
mppt_setPWM(0);
|
||||||
PWM_stop(mppt_pwm);
|
PWM_stop(mppt_pwm);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,7 +33,7 @@ void comm_init(){
|
|||||||
SPI_Params_init(&SPI_MSPTrans.params);
|
SPI_Params_init(&SPI_MSPTrans.params);
|
||||||
SPI_MSPTrans.interface = CONFIG_SPI_MASTER;
|
SPI_MSPTrans.interface = CONFIG_SPI_MASTER;
|
||||||
SPI_MSPTrans.cs = CONFIG_GPIO_CSMSP;
|
SPI_MSPTrans.cs = CONFIG_GPIO_CSMSP;
|
||||||
SPI_ADC.params.frameFormat = SPI_POL0_PHA0; // mode 0
|
SPI_MSPTrans.params.frameFormat = SPI_POL0_PHA0; // mode 0
|
||||||
SPI_MSPTrans.params.bitRate = 1E6; // 1 MHz
|
SPI_MSPTrans.params.bitRate = 1E6; // 1 MHz
|
||||||
SPI_MSPTrans.trans.count = SPI_PACKET_LENGTH;
|
SPI_MSPTrans.trans.count = SPI_PACKET_LENGTH;
|
||||||
SPI_MSPTrans.trans.txBuf = &TransmitBuffer[0];
|
SPI_MSPTrans.trans.txBuf = &TransmitBuffer[0];
|
||||||
@ -86,3 +86,5 @@ void comm_init(){
|
|||||||
usleep(SPI_INTERVAL);
|
usleep(SPI_INTERVAL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: add uart code
|
||||||
|
|||||||
10
src/debug.h
10
src/debug.h
@ -1,11 +1,11 @@
|
|||||||
#ifndef DEBUG_H
|
#ifndef DEBUG_H
|
||||||
#define DEBUG_H
|
#define DEBUG_H
|
||||||
|
|
||||||
#define LOG(msg) ;
|
#define LOG(msg, ...) ;
|
||||||
|
|
||||||
#define ERROR(msg) LOG("ERROR: " msg)
|
#define ERROR(msg, ...) LOG("ERROR: " msg, ##__VA_ARGS__)
|
||||||
#define WARN(msg) LOG("WARN: " msg)
|
#define WARN(msg, ...) LOG("WARN: " msg, ##__VA_ARGS__)
|
||||||
#define DEBUG(msg) LOG("DEBUG: " msg)
|
#define DEBUG(msg, ...) LOG("DEBUG: " msg, ##__VA_ARGS__)
|
||||||
#define INFO(msg) LOG("INFO: " msg)
|
#define INFO(msg, ...) LOG("INFO: " msg, ##__VA_ARGS__)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include "ti_drivers_config.h"
|
#include "ti_drivers_config.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum Status_t {
|
||||||
SLEEP,
|
SLEEP,
|
||||||
INIT,
|
INIT,
|
||||||
MPPT_READY,
|
MPPT_READY,
|
||||||
|
|||||||
@ -51,12 +51,12 @@ void startSys(){
|
|||||||
treads.noodstop = createSimplePTread(4, &noodstop_start);
|
treads.noodstop = createSimplePTread(4, &noodstop_start);
|
||||||
}
|
}
|
||||||
void stopSys(){
|
void stopSys(){
|
||||||
|
//TODO: communication say what the reason for the emergency stop was if thare was one
|
||||||
// pthread_exit(treads.comm);
|
// pthread_exit(treads.comm);
|
||||||
pthread_exit(treads.noodstop);
|
pthread_exit(treads.noodstop);
|
||||||
pthread_exit(treads.mppt);
|
pthread_exit(treads.mppt);
|
||||||
|
|
||||||
treads.mppt = createSimplePTread(1, &mppt_deinit);
|
treads.mppt = createSimplePTread(1, &mppt_deinit);
|
||||||
treads.noodstop = createSimplePTread(3, &noodstop_deinit);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void initISR(){
|
void initISR(){
|
||||||
@ -83,6 +83,7 @@ void startSysISR(){
|
|||||||
void * mainTask(void *arg){
|
void * mainTask(void *arg){
|
||||||
Status_t lastState;
|
Status_t lastState;
|
||||||
while(1){
|
while(1){
|
||||||
|
INFO("system state changed from %s to %s", lastState, Status);
|
||||||
switch (Status){
|
switch (Status){
|
||||||
case SLEEP:
|
case SLEEP:
|
||||||
stopSys();
|
stopSys();
|
||||||
@ -90,6 +91,9 @@ void * mainTask(void *arg){
|
|||||||
case INIT:
|
case INIT:
|
||||||
startInit();
|
startInit();
|
||||||
break;
|
break;
|
||||||
|
case ALL_READY:
|
||||||
|
//TODO: say the system is ready
|
||||||
|
break;
|
||||||
case WORKING:
|
case WORKING:
|
||||||
startSys();
|
startSys();
|
||||||
break;
|
break;
|
||||||
@ -112,5 +116,5 @@ int main(void){
|
|||||||
treads.sysBeheer = createSimplePTread(1, mainTask);
|
treads.sysBeheer = createSimplePTread(1, mainTask);
|
||||||
BIOS_start(); // start the BIOS
|
BIOS_start(); // start the BIOS
|
||||||
while(1)
|
while(1)
|
||||||
usleep(1E6);
|
sleep(10);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -107,7 +107,7 @@ void noodstop_init(){
|
|||||||
&& nood_maxwaardes.maxTempratuur >= 60 && nood_maxwaardes.maxTempratuur <= 120
|
&& nood_maxwaardes.maxTempratuur >= 60 && nood_maxwaardes.maxTempratuur <= 120
|
||||||
&& nood_maxwaardes.maxVermogen <= 250
|
&& nood_maxwaardes.maxVermogen <= 250
|
||||||
){
|
){
|
||||||
break; // stop the loop values are valid
|
break; // stop the loop, values are valid
|
||||||
}
|
}
|
||||||
usleep(100E3);
|
usleep(100E3);
|
||||||
}
|
}
|
||||||
@ -123,11 +123,5 @@ void noodstop_init(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void noodstop_start(){
|
void noodstop_start(){
|
||||||
// start the treath voor het uitlezen van de temptatuur
|
noodstop_tempratuurHandle();
|
||||||
adcThread = createSimplePTread(2, &noodstop_tempratuurHandle);
|
|
||||||
}
|
|
||||||
|
|
||||||
void noodstop_deinit(){
|
|
||||||
// stop threads
|
|
||||||
pthread_exit(adcThread);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,6 @@ void noodstop_snelhied(uint16_t snelhied);
|
|||||||
|
|
||||||
void noodstop_init();
|
void noodstop_init();
|
||||||
void noodstop_start();
|
void noodstop_start();
|
||||||
void noodstop_deinit();
|
|
||||||
|
|
||||||
uint8_t noodstop_getTempratuur();
|
uint8_t noodstop_getTempratuur();
|
||||||
void noodstop_activeerNoodstop();
|
void noodstop_activeerNoodstop();
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
|
SPI_Trans_t SPI_ADC;
|
||||||
uint8_t ADC_TxBuf[4];
|
uint8_t ADC_TxBuf[4];
|
||||||
uint8_t ADC_RxBuf[4];
|
uint8_t ADC_RxBuf[4];
|
||||||
|
|
||||||
@ -13,7 +14,7 @@ void SPI_Init(){
|
|||||||
// init ADC
|
// init ADC
|
||||||
SPI_Params_init(&SPI_ADC.params);
|
SPI_Params_init(&SPI_ADC.params);
|
||||||
SPI_ADC.interface = CONFIG_SPI_MASTER;
|
SPI_ADC.interface = CONFIG_SPI_MASTER;
|
||||||
SPI_ADC.cs = CONFIG_GPIO_CSMSP;
|
SPI_ADC.cs = CONFIG_GPIO_CSADC;
|
||||||
SPI_ADC.params.frameFormat = SPI_POL0_PHA0; // mode 0
|
SPI_ADC.params.frameFormat = SPI_POL0_PHA0; // mode 0
|
||||||
SPI_ADC.params.bitRate = 1E6; // 1 MHz
|
SPI_ADC.params.bitRate = 1E6; // 1 MHz
|
||||||
SPI_ADC.trans.count = 4;
|
SPI_ADC.trans.count = 4;
|
||||||
@ -40,7 +41,7 @@ int SPI_trans(SPI_Trans_t *trans){
|
|||||||
SPI_Handaler = &spih;
|
SPI_Handaler = &spih;
|
||||||
|
|
||||||
// open spi connection with paramaters of this one
|
// open spi connection with paramaters of this one
|
||||||
spih = SPI_open(CONFIG_SPI_MASTER, &trans->params);
|
spih = SPI_open(trans->interface, &trans->params);
|
||||||
if (spih == NULL) {
|
if (spih == NULL) {
|
||||||
ERROR("initialising SPI for communicating with the MSP\n");
|
ERROR("initialising SPI for communicating with the MSP\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@ -29,8 +29,6 @@ typedef struct SPI_Trans_t {
|
|||||||
} SPI_Trans_t;
|
} SPI_Trans_t;
|
||||||
SPI_Handle *SPI_Handaler;
|
SPI_Handle *SPI_Handaler;
|
||||||
|
|
||||||
SPI_Trans_t SPI_ADC;
|
|
||||||
|
|
||||||
void SPI_Init();
|
void SPI_Init();
|
||||||
uint16_t ADC_read(uint8_t ch);
|
uint16_t ADC_read(uint8_t ch);
|
||||||
int SPI_trans(SPI_Trans_t *trans);
|
int SPI_trans(SPI_Trans_t *trans);
|
||||||
|
|||||||
@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
void systeemBeheer(){
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user