yuki makura / Mbed 2 deprecated 2018_wamv_sw_panel

Dependencies:   mbed mbed-rtos EthernetInterface

Committer:
JadeEtoile
Date:
Mon Dec 10 19:41:42 2018 +0000
Revision:
0:e894a0665114
Child:
1:8485adfbbd18
test upload

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JadeEtoile 0:e894a0665114 1 /* mbed Microcontroller Library
JadeEtoile 0:e894a0665114 2 * Copyright (c) 2018 ARM Limited
JadeEtoile 0:e894a0665114 3 * SPDX-License-Identifier: Apache-2.0
JadeEtoile 0:e894a0665114 4 */
JadeEtoile 0:e894a0665114 5
JadeEtoile 0:e894a0665114 6 #include "mbed.h"
JadeEtoile 0:e894a0665114 7
JadeEtoile 0:e894a0665114 8 #define ON (1)
JadeEtoile 0:e894a0665114 9 #define OFF (0)
JadeEtoile 0:e894a0665114 10
JadeEtoile 0:e894a0665114 11 #define COLOR_RED (0b100)
JadeEtoile 0:e894a0665114 12 #define COLOR_YELLOW (0b110)
JadeEtoile 0:e894a0665114 13 #define COLOR_GREEN (0b010)
JadeEtoile 0:e894a0665114 14 #define COLOR_BLUE (0b001)
JadeEtoile 0:e894a0665114 15 #define COLOR_CYAN (0b011)
JadeEtoile 0:e894a0665114 16 #define COLOR_MAZENTA (0b101)
JadeEtoile 0:e894a0665114 17 #define COLOR_WHITE (0b111)
JadeEtoile 0:e894a0665114 18 #define COLOR_BLACK (0b000)
JadeEtoile 0:e894a0665114 19
JadeEtoile 0:e894a0665114 20 DigitalOut led_ctrl_5v(p8);
JadeEtoile 0:e894a0665114 21 DigitalOut led_ctrl_12v(p9);
JadeEtoile 0:e894a0665114 22 DigitalOut led_ctrl_24v(p10);
JadeEtoile 0:e894a0665114 23 DigitalOut led_ctrl_main(p6);
JadeEtoile 0:e894a0665114 24 DigitalOut led_motor_main_fuse(p5);
JadeEtoile 0:e894a0665114 25 DigitalOut led_motor_12v_fuse(p7);
JadeEtoile 0:e894a0665114 26 DigitalOut led_motor_main(p11);
JadeEtoile 0:e894a0665114 27 DigitalOut led_motor_12v(p17);
JadeEtoile 0:e894a0665114 28
JadeEtoile 0:e894a0665114 29 DigitalIn relay_ctrl_main(p14, PullNone);
JadeEtoile 0:e894a0665114 30 DigitalIn relay_motor_main(p12, PullNone);
JadeEtoile 0:e894a0665114 31 DigitalIn relay_motor_12v(p13, PullNone);
JadeEtoile 0:e894a0665114 32
JadeEtoile 0:e894a0665114 33 AnalogIn ad_ctrl_main(p20);
JadeEtoile 0:e894a0665114 34
JadeEtoile 0:e894a0665114 35 Serial pc(USBTX, USBRX, 9600);
JadeEtoile 0:e894a0665114 36
JadeEtoile 0:e894a0665114 37 I2C i2c_master(p28, p27);
JadeEtoile 0:e894a0665114 38 const char master_addr = 0x70;
JadeEtoile 0:e894a0665114 39
JadeEtoile 0:e894a0665114 40 /*CAN*/
JadeEtoile 0:e894a0665114 41 CAN can_master(p30, p29);
JadeEtoile 0:e894a0665114 42
JadeEtoile 0:e894a0665114 43 void LedCheck(void);
JadeEtoile 0:e894a0665114 44
JadeEtoile 0:e894a0665114 45 // main() runs in its own thread in the OS
JadeEtoile 0:e894a0665114 46 int main()
JadeEtoile 0:e894a0665114 47 {
JadeEtoile 0:e894a0665114 48 float voltage_ctrl_main = 0.0;
JadeEtoile 0:e894a0665114 49 char command;
JadeEtoile 0:e894a0665114 50 char address;
JadeEtoile 0:e894a0665114 51 char data[8];
JadeEtoile 0:e894a0665114 52 char can_data[2];
JadeEtoile 0:e894a0665114 53 led_ctrl_5v = OFF;
JadeEtoile 0:e894a0665114 54 led_ctrl_12v = OFF;
JadeEtoile 0:e894a0665114 55 led_ctrl_24v = OFF;
JadeEtoile 0:e894a0665114 56 led_ctrl_main = OFF;
JadeEtoile 0:e894a0665114 57 led_motor_main_fuse = OFF;
JadeEtoile 0:e894a0665114 58 led_motor_12v_fuse = OFF;
JadeEtoile 0:e894a0665114 59 led_motor_main = OFF;
JadeEtoile 0:e894a0665114 60 led_motor_12v = OFF;
JadeEtoile 0:e894a0665114 61
JadeEtoile 0:e894a0665114 62 LedCheck();
JadeEtoile 0:e894a0665114 63
JadeEtoile 0:e894a0665114 64 while (true) {
JadeEtoile 0:e894a0665114 65 /*address = 0b1001000;
JadeEtoile 0:e894a0665114 66 command = 0b10000011;
JadeEtoile 0:e894a0665114 67 i2c_master.write(address, &command, 1, true);
JadeEtoile 0:e894a0665114 68 wait_us(300);
JadeEtoile 0:e894a0665114 69 i2c_master.read(address, &data[0], 1, true);
JadeEtoile 0:e894a0665114 70
JadeEtoile 0:e894a0665114 71 command = 0b10010011;
JadeEtoile 0:e894a0665114 72 i2c_master.write(address, &command, 1);
JadeEtoile 0:e894a0665114 73 wait_us(300);
JadeEtoile 0:e894a0665114 74 i2c_master.read(address, &data[1], 1, true);
JadeEtoile 0:e894a0665114 75
JadeEtoile 0:e894a0665114 76 command = 0b10100011;
JadeEtoile 0:e894a0665114 77 i2c_master.write(address, &command, 1);
JadeEtoile 0:e894a0665114 78 wait_us(300);
JadeEtoile 0:e894a0665114 79 i2c_master.read(address, &data[2], 1, true);
JadeEtoile 0:e894a0665114 80
JadeEtoile 0:e894a0665114 81 command = 0b10110011;
JadeEtoile 0:e894a0665114 82 i2c_master.write(address, &command, 1);
JadeEtoile 0:e894a0665114 83 wait_us(300);
JadeEtoile 0:e894a0665114 84 i2c_master.read(address, &data[3], 1, true);
JadeEtoile 0:e894a0665114 85
JadeEtoile 0:e894a0665114 86 voltage_ctrl_main = (ad_ctrl_main.read() * 104.0 * 3.3 / 13.0);*/
JadeEtoile 0:e894a0665114 87 led_ctrl_main = relay_ctrl_main;
JadeEtoile 0:e894a0665114 88 led_motor_main_fuse = relay_motor_main;
JadeEtoile 0:e894a0665114 89 led_motor_main = relay_motor_main;
JadeEtoile 0:e894a0665114 90 led_motor_12v_fuse = relay_motor_12v;
JadeEtoile 0:e894a0665114 91 //printf("%04x\t%04x\t%04x\t%04x\t", data[0], data[1], data[2], data[3]);
JadeEtoile 0:e894a0665114 92 //printf("%f(v)\n", voltage_ctrl_main);
JadeEtoile 0:e894a0665114 93
JadeEtoile 0:e894a0665114 94 if(ON == relay_motor_main)
JadeEtoile 0:e894a0665114 95 {
JadeEtoile 0:e894a0665114 96 can_data[0] = COLOR_YELLOW;
JadeEtoile 0:e894a0665114 97 can_data[1] = 0x10;
JadeEtoile 0:e894a0665114 98 }
JadeEtoile 0:e894a0665114 99 else
JadeEtoile 0:e894a0665114 100 {
JadeEtoile 0:e894a0665114 101 can_data[0] = COLOR_RED;
JadeEtoile 0:e894a0665114 102 can_data[1] = 0x10;
JadeEtoile 0:e894a0665114 103 }
JadeEtoile 0:e894a0665114 104 CANMessage msg(0x1852, can_data, sizeof(can_data), CANData, CANStandard);
JadeEtoile 0:e894a0665114 105 can_master.write(msg);
JadeEtoile 0:e894a0665114 106 }
JadeEtoile 0:e894a0665114 107 }
JadeEtoile 0:e894a0665114 108
JadeEtoile 0:e894a0665114 109 void LedCheck(void)
JadeEtoile 0:e894a0665114 110 {
JadeEtoile 0:e894a0665114 111 led_ctrl_5v = ON;
JadeEtoile 0:e894a0665114 112 wait(0.05f);
JadeEtoile 0:e894a0665114 113 led_ctrl_5v = OFF;
JadeEtoile 0:e894a0665114 114
JadeEtoile 0:e894a0665114 115 led_ctrl_12v = ON;
JadeEtoile 0:e894a0665114 116 wait(0.05f);
JadeEtoile 0:e894a0665114 117 led_ctrl_12v = OFF;
JadeEtoile 0:e894a0665114 118
JadeEtoile 0:e894a0665114 119 led_ctrl_24v = ON;
JadeEtoile 0:e894a0665114 120 wait(0.05f);
JadeEtoile 0:e894a0665114 121 led_ctrl_24v = OFF;
JadeEtoile 0:e894a0665114 122
JadeEtoile 0:e894a0665114 123 led_ctrl_main = ON;
JadeEtoile 0:e894a0665114 124 wait(0.05f);
JadeEtoile 0:e894a0665114 125 led_ctrl_main = OFF;
JadeEtoile 0:e894a0665114 126
JadeEtoile 0:e894a0665114 127 led_motor_main_fuse = ON;
JadeEtoile 0:e894a0665114 128 wait(0.05f);
JadeEtoile 0:e894a0665114 129 led_motor_main_fuse = OFF;
JadeEtoile 0:e894a0665114 130
JadeEtoile 0:e894a0665114 131 led_motor_12v_fuse = ON;
JadeEtoile 0:e894a0665114 132 wait(0.05f);
JadeEtoile 0:e894a0665114 133 led_motor_12v_fuse = OFF;
JadeEtoile 0:e894a0665114 134
JadeEtoile 0:e894a0665114 135 led_motor_main = ON;
JadeEtoile 0:e894a0665114 136 wait(0.05f);
JadeEtoile 0:e894a0665114 137 led_motor_main = OFF;
JadeEtoile 0:e894a0665114 138
JadeEtoile 0:e894a0665114 139 led_motor_12v = ON;
JadeEtoile 0:e894a0665114 140 wait(0.05f);
JadeEtoile 0:e894a0665114 141 led_motor_12v = OFF;
JadeEtoile 0:e894a0665114 142
JadeEtoile 0:e894a0665114 143 led_ctrl_5v = ON;
JadeEtoile 0:e894a0665114 144 led_ctrl_12v = ON;
JadeEtoile 0:e894a0665114 145 led_ctrl_24v = ON;
JadeEtoile 0:e894a0665114 146 led_ctrl_main = ON;
JadeEtoile 0:e894a0665114 147 led_motor_main_fuse = ON;
JadeEtoile 0:e894a0665114 148 led_motor_12v_fuse = ON;
JadeEtoile 0:e894a0665114 149 led_motor_main = ON;
JadeEtoile 0:e894a0665114 150 led_motor_12v = ON;
JadeEtoile 0:e894a0665114 151 wait(0.2f);
JadeEtoile 0:e894a0665114 152
JadeEtoile 0:e894a0665114 153 led_ctrl_12v = OFF;
JadeEtoile 0:e894a0665114 154 led_ctrl_5v = OFF;
JadeEtoile 0:e894a0665114 155 led_ctrl_24v = OFF;
JadeEtoile 0:e894a0665114 156 led_ctrl_main = OFF;
JadeEtoile 0:e894a0665114 157 led_motor_main_fuse = OFF;
JadeEtoile 0:e894a0665114 158 led_motor_12v_fuse = OFF;
JadeEtoile 0:e894a0665114 159 led_motor_main = OFF;
JadeEtoile 0:e894a0665114 160 led_motor_12v = OFF;
JadeEtoile 0:e894a0665114 161
JadeEtoile 0:e894a0665114 162 }