The Technology Partnership / Mbed 2 deprecated V2_Heater_test_code

Dependencies:   mbed MODSERIAL

Committer:
seoirsem
Date:
Thu Oct 03 12:24:19 2019 +0000
Revision:
5:404644414f16
Parent:
4:09c9778f26aa
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
seoirsem 0:c43134a862eb 1 #include "mbed.h"
seoirsem 0:c43134a862eb 2 #include "MODSERIAL.h"
seoirsem 0:c43134a862eb 3 #include "FastPWM.h"
seoirsem 0:c43134a862eb 4
seoirsem 0:c43134a862eb 5 #include "math.h"
seoirsem 0:c43134a862eb 6 /*------------------------------------------------------------------------------
seoirsem 0:c43134a862eb 7 Codebase for T99004 Demo Control Board Rev A Firmware
seoirsem 0:c43134a862eb 8 Date: 10/07/2018
seoirsem 0:c43134a862eb 9 Author: AS7
seoirsem 0:c43134a862eb 10
seoirsem 0:c43134a862eb 11
seoirsem 0:c43134a862eb 12 ------------------------------------------------------------------------------*/
seoirsem 0:c43134a862eb 13
seoirsem 3:5d99b45d534a 14 #define TICK_PERIOD 1000// Tick cylcle
seoirsem 0:c43134a862eb 15
seoirsem 0:c43134a862eb 16
seoirsem 0:c43134a862eb 17 MODSERIAL pc(PA_9, PA_10, 512); //mcu TX, RX, 512 byte TX and RX buffers
seoirsem 0:c43134a862eb 18
seoirsem 0:c43134a862eb 19 //indicator LEDs
seoirsem 0:c43134a862eb 20 DigitalOut hb_led(PC_13); //Green
seoirsem 0:c43134a862eb 21 DigitalOut led_0(PC_4); //Red
seoirsem 0:c43134a862eb 22 DigitalOut led_1(PC_5); //Green
seoirsem 0:c43134a862eb 23
seoirsem 0:c43134a862eb 24 //User buttons
seoirsem 0:c43134a862eb 25 DigitalIn user_0(PB_0);
seoirsem 0:c43134a862eb 26 DigitalIn user_1(PB_1);
seoirsem 0:c43134a862eb 27
seoirsem 0:c43134a862eb 28 //Heater Control
seoirsem 0:c43134a862eb 29 FastPWM drive_1(PC_9);
seoirsem 0:c43134a862eb 30 FastPWM drive_2(PC_8);
seoirsem 0:c43134a862eb 31 FastPWM guard_1(PC_7);
seoirsem 0:c43134a862eb 32 FastPWM guard_2(PC_6);
seoirsem 0:c43134a862eb 33 Timer timer;
seoirsem 0:c43134a862eb 34
seoirsem 0:c43134a862eb 35
seoirsem 0:c43134a862eb 36 int main()
seoirsem 0:c43134a862eb 37 {
seoirsem 0:c43134a862eb 38 // Initialsation
seoirsem 0:c43134a862eb 39 pc.baud(115200);
seoirsem 0:c43134a862eb 40 //led_1 = drive_1; //tie led 1 and heater 1 outputs together so LED shows while heater is on (initial debug purposes only)
seoirsem 0:c43134a862eb 41 timer.start(); //Start the timer
seoirsem 0:c43134a862eb 42
seoirsem 0:c43134a862eb 43 //Initialise drive periods
seoirsem 0:c43134a862eb 44 drive_1.prescaler(1);
seoirsem 0:c43134a862eb 45 guard_1.prescaler(1);
seoirsem 1:ad9199cbfc4b 46 drive_2.prescaler(1);
seoirsem 1:ad9199cbfc4b 47 guard_2.prescaler(1);
seoirsem 3:5d99b45d534a 48 drive_1.period_ticks(TICK_PERIOD);
seoirsem 3:5d99b45d534a 49 guard_1.period_ticks(TICK_PERIOD);
seoirsem 3:5d99b45d534a 50 drive_2.period_ticks(TICK_PERIOD);
seoirsem 3:5d99b45d534a 51 guard_2.period_ticks(TICK_PERIOD);
seoirsem 0:c43134a862eb 52
seoirsem 5:404644414f16 53 while (user_1==0); //waits for a button press before starting the programme
seoirsem 0:c43134a862eb 54
seoirsem 0:c43134a862eb 55
seoirsem 5:404644414f16 56 float ratio_guard = 25.0/82.0;
seoirsem 5:404644414f16 57 int main_tick_1 = 85;
seoirsem 5:404644414f16 58 int guard_tick_1 = 10;//floor(main_tick_1 * ratio_guard);
seoirsem 3:5d99b45d534a 59 int main_tick_2 = 0;
seoirsem 5:404644414f16 60 int guard_tick_2 = 0;//floor(main_tick_2 * ratio_guard);
seoirsem 0:c43134a862eb 61
seoirsem 5:404644414f16 62
seoirsem 5:404644414f16 63 while(guard_tick_1 < 30){
seoirsem 3:5d99b45d534a 64
seoirsem 3:5d99b45d534a 65 drive_1.pulsewidth_ticks(main_tick_1);
seoirsem 3:5d99b45d534a 66 guard_1.pulsewidth_ticks(guard_tick_1);
seoirsem 3:5d99b45d534a 67 drive_2.pulsewidth_ticks(main_tick_2);
seoirsem 3:5d99b45d534a 68 guard_2.pulsewidth_ticks(guard_tick_2);
seoirsem 5:404644414f16 69 //wait(2);
seoirsem 1:ad9199cbfc4b 70 //heater_2.output();
seoirsem 0:c43134a862eb 71 //pc.printf("%d, %f, %f\n",tic_guard,j,ratio_guard);
seoirsem 5:404644414f16 72
seoirsem 5:404644414f16 73 while(user_0==0);
seoirsem 5:404644414f16 74 wait(1);
seoirsem 5:404644414f16 75 guard_tick_1 ++;
seoirsem 5:404644414f16 76 pc.printf("%d\n",guard_tick_1);
seoirsem 0:c43134a862eb 77 }
seoirsem 0:c43134a862eb 78
seoirsem 0:c43134a862eb 79 }