Testing code for just temperature test

Dependencies:   mbed

Committer:
vickygough
Date:
Mon Sep 04 10:15:45 2017 +0000
Revision:
0:584ea5db2696
initial tempread test;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vickygough 0:584ea5db2696 1 #include "mbed.h"
vickygough 0:584ea5db2696 2 #include "PINNAMES_mbed.h"
vickygough 0:584ea5db2696 3 #include "SPICOMMANDS.h"
vickygough 0:584ea5db2696 4 #include "PROTOTYPES.h"
vickygough 0:584ea5db2696 5 #include "TABLES.h"
vickygough 0:584ea5db2696 6
vickygough 0:584ea5db2696 7 const int spiBitrate=250000;
vickygough 0:584ea5db2696 8 bool arduino_task_done = false;
vickygough 0:584ea5db2696 9 uint8_t write_buf [8];
vickygough 0:584ea5db2696 10
vickygough 0:584ea5db2696 11 int main() {
vickygough 0:584ea5db2696 12
vickygough 0:584ea5db2696 13 // initialise write_buf
vickygough 0:584ea5db2696 14 write_buf[0] = 0xAA; //message start
vickygough 0:584ea5db2696 15 write_buf[1] = MEGA1; //chip_ID
vickygough 0:584ea5db2696 16 write_buf[2] = do_nothing; //command
vickygough 0:584ea5db2696 17 write_buf[3] = 0x00;
vickygough 0:584ea5db2696 18 write_buf[4] = 0x00;
vickygough 0:584ea5db2696 19 write_buf[5] = 0x00; //temp device number
vickygough 0:584ea5db2696 20 write_buf[6] = 0x00;
vickygough 0:584ea5db2696 21 write_buf[7] = GetSum();
vickygough 0:584ea5db2696 22
vickygough 0:584ea5db2696 23 char read_buf [8];
vickygough 0:584ea5db2696 24 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 25 read_buf[i] = 0;
vickygough 0:584ea5db2696 26 }
vickygough 0:584ea5db2696 27
vickygough 0:584ea5db2696 28 while(1) {
vickygough 0:584ea5db2696 29 spi.format(8,3);
vickygough 0:584ea5db2696 30 spi.frequency(spiBitrate);
vickygough 0:584ea5db2696 31
vickygough 0:584ea5db2696 32 // REQUEST TEMPERATURES
vickygough 0:584ea5db2696 33 write_buf[2] = request_temps;
vickygough 0:584ea5db2696 34 write_buf[7] = GetSum();
vickygough 0:584ea5db2696 35
vickygough 0:584ea5db2696 36 chipSelect = 0;
vickygough 0:584ea5db2696 37 wait_us(70);
vickygough 0:584ea5db2696 38 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 39 spi.write(write_buf[i]);
vickygough 0:584ea5db2696 40 }
vickygough 0:584ea5db2696 41
vickygough 0:584ea5db2696 42
vickygough 0:584ea5db2696 43 while (!arduino_task_done) {
vickygough 0:584ea5db2696 44 wait_us(10);
vickygough 0:584ea5db2696 45 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 46 read_buf[i] = (uint8_t) spi.write(0xFA);
vickygough 0:584ea5db2696 47 }
vickygough 0:584ea5db2696 48 if (read_buf[6] == 0x01) {
vickygough 0:584ea5db2696 49 //task done
vickygough 0:584ea5db2696 50 arduino_task_done = true;
vickygough 0:584ea5db2696 51 }
vickygough 0:584ea5db2696 52 }
vickygough 0:584ea5db2696 53 chipSelect = 1;
vickygough 0:584ea5db2696 54 wait_us(10);
vickygough 0:584ea5db2696 55
vickygough 0:584ea5db2696 56
vickygough 0:584ea5db2696 57 //READ PROBE 1
vickygough 0:584ea5db2696 58 write_buf[2] = read_onetemp_only;
vickygough 0:584ea5db2696 59 write_buf[5] = 0x01;
vickygough 0:584ea5db2696 60 write_buf[7] = GetSum();
vickygough 0:584ea5db2696 61 chipSelect = 0;
vickygough 0:584ea5db2696 62 wait_us(70);
vickygough 0:584ea5db2696 63 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 64 spi.write(write_buf[i]);
vickygough 0:584ea5db2696 65 }
vickygough 0:584ea5db2696 66
vickygough 0:584ea5db2696 67 while (!arduino_task_done) {
vickygough 0:584ea5db2696 68 wait_us(10);
vickygough 0:584ea5db2696 69 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 70 read_buf[i] = (uint8_t) spi.write(0xFA);
vickygough 0:584ea5db2696 71 }
vickygough 0:584ea5db2696 72 if (read_buf[6] == 0x01) {
vickygough 0:584ea5db2696 73 //task done
vickygough 0:584ea5db2696 74 arduino_task_done = true;
vickygough 0:584ea5db2696 75 }
vickygough 0:584ea5db2696 76 }
vickygough 0:584ea5db2696 77 chipSelect = 1;
vickygough 0:584ea5db2696 78 wait_us(10);
vickygough 0:584ea5db2696 79
vickygough 0:584ea5db2696 80 printf("Response from Arduino is ");
vickygough 0:584ea5db2696 81 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 82 printf("%d ", read_buf[i]);
vickygough 0:584ea5db2696 83 //if (read_buf[i] == 32) printf("this is 32");
vickygough 0:584ea5db2696 84 read_buf[i] = 0x00;
vickygough 0:584ea5db2696 85 }
vickygough 0:584ea5db2696 86 printf("\r\n");
vickygough 0:584ea5db2696 87
vickygough 0:584ea5db2696 88
vickygough 0:584ea5db2696 89 //READ PROBE 2
vickygough 0:584ea5db2696 90 write_buf[2] = read_onetemp_only;
vickygough 0:584ea5db2696 91 write_buf[5] = 0x02;
vickygough 0:584ea5db2696 92 write_buf[7] = GetSum();
vickygough 0:584ea5db2696 93 chipSelect = 0;
vickygough 0:584ea5db2696 94 wait_us(70);
vickygough 0:584ea5db2696 95 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 96 spi.write(write_buf[i]);
vickygough 0:584ea5db2696 97 }
vickygough 0:584ea5db2696 98
vickygough 0:584ea5db2696 99 while (!arduino_task_done) {
vickygough 0:584ea5db2696 100 wait_us(10);
vickygough 0:584ea5db2696 101 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 102 read_buf[i] = (uint8_t) spi.write(0xFA);
vickygough 0:584ea5db2696 103 }
vickygough 0:584ea5db2696 104 if (read_buf[6] == 0x01) {
vickygough 0:584ea5db2696 105 //task done
vickygough 0:584ea5db2696 106 arduino_task_done = true;
vickygough 0:584ea5db2696 107 }
vickygough 0:584ea5db2696 108 }
vickygough 0:584ea5db2696 109
vickygough 0:584ea5db2696 110 chipSelect = 1;
vickygough 0:584ea5db2696 111 wait_us(10);
vickygough 0:584ea5db2696 112
vickygough 0:584ea5db2696 113 printf("Response from Arduino is ");
vickygough 0:584ea5db2696 114 for (int i = 0; i < 8; ++i) {
vickygough 0:584ea5db2696 115 printf("%d ", read_buf[i]);
vickygough 0:584ea5db2696 116 //if (read_buf[i] == 32) printf("this is 32");
vickygough 0:584ea5db2696 117 read_buf[i] = 0x00;
vickygough 0:584ea5db2696 118 }
vickygough 0:584ea5db2696 119 printf("\r\n");
vickygough 0:584ea5db2696 120
vickygough 0:584ea5db2696 121
vickygough 0:584ea5db2696 122 wait(1);
vickygough 0:584ea5db2696 123 }
vickygough 0:584ea5db2696 124
vickygough 0:584ea5db2696 125 }
vickygough 0:584ea5db2696 126 uint8_t GetSum() {
vickygough 0:584ea5db2696 127 uint8_t sum = write_buf[0] + write_buf[1] + write_buf[2] + write_buf[3] + write_buf[4] + write_buf[5];
vickygough 0:584ea5db2696 128 return sum;
vickygough 0:584ea5db2696 129 }