elixys periphreal system firmware library

Dependencies:   MAX31855 MCP23S18 MCP3202 MCP3208 MCP482x ShiftRegister1

Fork of elixys by Henry Herman

Committer:
henryeherman
Date:
Sun Dec 15 22:54:59 2013 +0000
Revision:
4:2e3f27ae04c2
Parent:
3:1b20a56e4457
Bug free the way to be!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henryeherman 0:542583a6f6bb 1 #ifndef ELIXYS_H
henryeherman 0:542583a6f6bb 2 #define ELIXYS_H
henryeherman 0:542583a6f6bb 3 #include "mbed.h"
henryeherman 1:b0f7c49b67f8 4 #include "chipselectarray.h"
henryeherman 1:b0f7c49b67f8 5 #include "mcp23s18.h"
henryeherman 1:b0f7c49b67f8 6 #include "mcp3202.h"
henryeherman 1:b0f7c49b67f8 7 #include "mcp482x.h"
henryeherman 0:542583a6f6bb 8 #include "max31855.h"
henryeherman 1:b0f7c49b67f8 9 #include "mcp3208.h"
henryeherman 1:b0f7c49b67f8 10
henryeherman 1:b0f7c49b67f8 11 #define SYSTEMTEST 1
henryeherman 1:b0f7c49b67f8 12
henryeherman 1:b0f7c49b67f8 13 // Fan Subsystem Defines
henryeherman 1:b0f7c49b67f8 14
henryeherman 1:b0f7c49b67f8 15 // Heater Subsystem Defines
henryeherman 1:b0f7c49b67f8 16 #define HEATER0 (1<<0)
henryeherman 1:b0f7c49b67f8 17 #define HEATER1 (1<<1)
henryeherman 1:b0f7c49b67f8 18 #define HEATER2 (1<<2)
henryeherman 1:b0f7c49b67f8 19 #define HEATER3 (1<<3)
henryeherman 1:b0f7c49b67f8 20 #define HEATER4 (1<<4)
henryeherman 1:b0f7c49b67f8 21 #define HEATER5 (1<<5)
henryeherman 1:b0f7c49b67f8 22 #define HEATER6 (1<<6)
henryeherman 1:b0f7c49b67f8 23 #define HEATER7 (1<<7)
henryeherman 1:b0f7c49b67f8 24 #define HEATER8 (1<<8)
henryeherman 1:b0f7c49b67f8 25 #define HTRLED0 (1<<9)
henryeherman 1:b0f7c49b67f8 26 #define HTRLED1 (1<<10)
henryeherman 1:b0f7c49b67f8 27 #define HTRLED2 (1<<11)
henryeherman 1:b0f7c49b67f8 28 #define VAC (1<<12)
henryeherman 1:b0f7c49b67f8 29 #define ALLHEATERSOFF 0xFFFF
henryeherman 1:b0f7c49b67f8 30 #define ALLHEATERSON 0x0000
henryeherman 1:b0f7c49b67f8 31
henryeherman 0:542583a6f6bb 32
henryeherman 0:542583a6f6bb 33 namespace Elixys {
henryeherman 1:b0f7c49b67f8 34
henryeherman 1:b0f7c49b67f8 35 // SPI Communication Bus
henryeherman 0:542583a6f6bb 36 extern SPI spibus;
henryeherman 1:b0f7c49b67f8 37
henryeherman 1:b0f7c49b67f8 38 // Fan Subsystem
henryeherman 1:b0f7c49b67f8 39 extern PwmOut fan1;
henryeherman 1:b0f7c49b67f8 40 extern PwmOut fan2;
henryeherman 1:b0f7c49b67f8 41 extern DigitalOut fan0;
henryeherman 1:b0f7c49b67f8 42 extern DigitalOut misc0;
henryeherman 0:542583a6f6bb 43
henryeherman 1:b0f7c49b67f8 44 // Heater Subsystem
henryeherman 1:b0f7c49b67f8 45 extern mcp23s18 htriomux;
henryeherman 1:b0f7c49b67f8 46
henryeherman 1:b0f7c49b67f8 47 void turn_on_heater(unsigned int pins);
henryeherman 1:b0f7c49b67f8 48 void turn_off_heater(unsigned int pins);
henryeherman 1:b0f7c49b67f8 49 void setup_heater();
henryeherman 1:b0f7c49b67f8 50
henryeherman 1:b0f7c49b67f8 51 // Mixer Subsystem
henryeherman 1:b0f7c49b67f8 52 extern PwmOut mtr0;
henryeherman 1:b0f7c49b67f8 53 extern PwmOut mtr1;
henryeherman 1:b0f7c49b67f8 54 extern PwmOut mtr2;
henryeherman 1:b0f7c49b67f8 55 extern PwmOut mtr3;
henryeherman 1:b0f7c49b67f8 56
henryeherman 1:b0f7c49b67f8 57
henryeherman 1:b0f7c49b67f8 58 // SMCInterface Subsystem
henryeherman 1:b0f7c49b67f8 59 extern MCP3202 smcadc;
henryeherman 1:b0f7c49b67f8 60 extern MCP482X smcdac;
henryeherman 1:b0f7c49b67f8 61
henryeherman 1:b0f7c49b67f8 62 // Thermocouple Subsystem
henryeherman 0:542583a6f6bb 63 extern max31855 tcintf0;
henryeherman 0:542583a6f6bb 64 extern max31855 tcintf1;
henryeherman 0:542583a6f6bb 65 extern max31855 tcintf2;
henryeherman 0:542583a6f6bb 66 extern max31855 tcintf3;
henryeherman 0:542583a6f6bb 67 extern max31855 tcintf4;
henryeherman 0:542583a6f6bb 68 extern max31855 tcintf5;
henryeherman 0:542583a6f6bb 69 extern max31855 tcintf6;
henryeherman 0:542583a6f6bb 70 extern max31855 tcintf7;
henryeherman 1:b0f7c49b67f8 71 extern max31855 tcintf8;
henryeherman 1:b0f7c49b67f8 72
henryeherman 1:b0f7c49b67f8 73 void setup_valves();
henryeherman 1:b0f7c49b67f8 74 void set_valves(int id, int value);
henryeherman 1:b0f7c49b67f8 75
henryeherman 1:b0f7c49b67f8 76 // Position Sensor Subsystem
henryeherman 1:b0f7c49b67f8 77 void setup_position_sensors();
henryeherman 1:b0f7c49b67f8 78 unsigned int read_poisition_sensors();
henryeherman 1:b0f7c49b67f8 79
henryeherman 1:b0f7c49b67f8 80 // Liquid Sensors Subsystem
henryeherman 1:b0f7c49b67f8 81 extern mcp3208 liqadc;
henryeherman 1:b0f7c49b67f8 82
henryeherman 1:b0f7c49b67f8 83 // Elixys System Setup
henryeherman 1:b0f7c49b67f8 84 void setup_elixys();
henryeherman 1:b0f7c49b67f8 85
henryeherman 1:b0f7c49b67f8 86 // System Tests
henryeherman 1:b0f7c49b67f8 87 #ifdef SYSTEMTEST
henryeherman 1:b0f7c49b67f8 88 void fan_test();
henryeherman 1:b0f7c49b67f8 89 void heater_test();
henryeherman 1:b0f7c49b67f8 90 void mixer_test();
henryeherman 1:b0f7c49b67f8 91 void smcadc_test();
henryeherman 1:b0f7c49b67f8 92 void smcdac_test();
henryeherman 1:b0f7c49b67f8 93 int tc_test();
henryeherman 1:b0f7c49b67f8 94 void valve_test();
henryeherman 1:b0f7c49b67f8 95 void position_sensor_test();
henryeherman 1:b0f7c49b67f8 96 void run_test();
henryeherman 1:b0f7c49b67f8 97 #endif
henryeherman 1:b0f7c49b67f8 98
henryeherman 0:542583a6f6bb 99 }
henryeherman 1:b0f7c49b67f8 100
henryeherman 0:542583a6f6bb 101
henryeherman 0:542583a6f6bb 102 #endif //ELIXYS_H