teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

main.h

Committer:
brunofgc
Date:
2017-05-22
Revision:
3:9598af355293
Parent:
2:55b7b466e742
Child:
5:7801f913384e

File content as of revision 3:9598af355293:

#ifndef _main_h_
#define _main_h_
#include "mbed.h"
#include "modem.h"
#include "devices.h"
#include "CircularBuffer.h"
#include "mediaMovel.h"
#include "math.h"
#include "IOs.h"
#include "IRPack.h"
#include "HighSpeedAnalogIn.h"
#include "DS18B20_SensorTemperatura.h"

#define xereta_modem

//#define serverAddress "186.202.127.244"
#define serverAddress "www.vitaesolucoes.com.br"

//Inicializações de máquina;
/*
typedef struct _typeConfig{ 
 //Guarda todos os parametros de configuração do aparelho.
 //Sequencia Claro, Vivo, Tim, Oi 
 char apnList[4][30];    //Endereço de APN para cada operadora. No caso Claro, Vivo, Tim, Oi
 char login[4][11];      //Login para cada operadora
 char senha[4][11];      //Senha para cada operadora
 char serverAddress[50]; //Dns para o servidor ex. norsulengenharia.com.br
 char numeroReportSMS[16];
 char serverPort[7];     //Porta para conexão entrante ex 44000
 uint16_t periodoDeEnvioDeDadosMinutos;
 char ultimoEstadoLigadoDesligado;
 uint16_t CRC;
}typeConfig;

extern typeConfig flashConfig;
*/

//Definições de hardware
extern DigitalOut led1;
extern DigitalOut led2;
extern DigitalOut led3;
extern DigitalOut led4;
extern bool hardwareReset;

extern DigitalOut ESP_CH_PD;
extern DigitalOut ESP_RESET;
extern DigitalOut ESP_ESPGPIO_2;

/*extern AnalogIn ai4;
extern AnalogIn ai3;
extern AnalogIn ai2;
extern AnalogIn ai1;*/

extern MediaMovel FiltroAI4;
extern MediaMovel FiltroAI3;
extern MediaMovel FiltroAI2;
extern MediaMovel FiltroAI1;

extern uint16_t aiFiltrada[4];
extern bool entradasDigitais[9];
extern uint32_t pwmPeriod;


extern Serial pc; //Instancia de recurso Serial uart pc
extern Serial modem; //Instancia de recurso Serial uart Modem
extern Serial m200_Serial; //Instancia de recurso serial para medidor m200 modbus

extern CircularBuffer bufModem;
extern CircularBuffer bufPC;
extern CircularBuffer sdCardBuf;

extern bool reportaMudancaAoServer;
extern bool executaComandoServer;
extern bool envioDadosAoServer;
extern bool enviaStatusAoServer;
extern uint8_t enviaDadosPorAlarme;
extern DigitalOut max_de;

void loadStandardConfig(void);
void RTC_POR_MINUTO(void);
void inicializaMaquina(void);
void chamaProcessaPacotePeloTimeOut(void);

extern arquivoSD *arquivoEnvioPointer;


//Threads
    //Timers    
    extern osThreadId idThreadTimers;
    void threadTimers(void const *);   
    
    //Comunicacões
    extern osThreadId idThreadComunicacoes;    
    void threadComunicacoes(void const *);
    
    //ProcessaPacote
    extern osThreadId idThreadProcessaPacote;    
    void threadProcessaPacote(void const *);
//Threads

//Devices
    extern device ** dispositivos;
    extern uint8_t devices;
    extern uint8_t alarmes;     
    extern uint8_t leituras;
    extern uint8_t qtdSchedules;     
    void loadDevices();   
//Devices

#endif