vr1.1
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of CDMS_RTOS_v1_1 by
PL.cpp@9:7ff6d75cc09e, 2015-07-04 (annotated)
- Committer:
- pradeepvk2208
- Date:
- Sat Jul 04 09:44:31 2015 +0000
- Revision:
- 9:7ff6d75cc09e
- Parent:
- 8:607ae92fa6af
- Child:
- 12:cb3ee1ac3638
PL added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cholletisaik777 | 0:d6e3d1e21484 | 1 | #include "mbed.h" |
cholletisaik777 | 8:607ae92fa6af | 2 | #include "PL.h" |
cholletisaik777 | 8:607ae92fa6af | 3 | #include "all_funcs.h" |
pradeepvk2208 | 9:7ff6d75cc09e | 4 | #include "Flags.h" |
cholletisaik777 | 0:d6e3d1e21484 | 5 | |
cholletisaik777 | 0:d6e3d1e21484 | 6 | Serial sr(USBTX,USBRX); |
cholletisaik777 | 0:d6e3d1e21484 | 7 | |
cholletisaik777 | 7:c270a9e37290 | 8 | void FCTN_PL_RCV_SC_DATA() |
cholletisaik777 | 0:d6e3d1e21484 | 9 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 10 | sr.printf("in FCTN_PL_RCV_SC_DATA\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 11 | uint8_t scienceRawPacket[payloadBins]; |
pradeepvk2208 | 9:7ff6d75cc09e | 12 | for(int i=0; i<payloadBins; i++) |
pradeepvk2208 | 9:7ff6d75cc09e | 13 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 14 | while(!pl_spi.receive()); // blocking statement --> waiting for data from Payload |
pradeepvk2208 | 9:7ff6d75cc09e | 15 | uint8_t v = pl_spi.read(); // Read byte from master |
pradeepvk2208 | 9:7ff6d75cc09e | 16 | scienceRawPacket[i] = v; |
pradeepvk2208 | 9:7ff6d75cc09e | 17 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 18 | // serial feedback |
pradeepvk2208 | 9:7ff6d75cc09e | 19 | sr.printf("Packet recieved\r\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 20 | for(int i=0; i<payloadBins; i++) |
pradeepvk2208 | 9:7ff6d75cc09e | 21 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 22 | sr.printf("%0x\t",scienceRawPacket[i]); |
pradeepvk2208 | 9:7ff6d75cc09e | 23 | scienceRawPacket[i] = 0; |
pradeepvk2208 | 9:7ff6d75cc09e | 24 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 25 | sr.printf("\r\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 26 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 27 | |
pradeepvk2208 | 9:7ff6d75cc09e | 28 | void FCTN_PL_MAIN() |
pradeepvk2208 | 9:7ff6d75cc09e | 29 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 30 | pl_main_flags|=PL_MAIN_STATUS; |
pradeepvk2208 | 9:7ff6d75cc09e | 31 | pl_main_flags&=~(PL_LOW_POWER); |
pradeepvk2208 | 9:7ff6d75cc09e | 32 | pl_prev_state=pl_state; |
pradeepvk2208 | 9:7ff6d75cc09e | 33 | if(pl_schedule==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 34 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 35 | pl_state=pl_schedule_TC; |
pradeepvk2208 | 9:7ff6d75cc09e | 36 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 37 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 38 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 39 | if(pl_state==PL_SCIENCE) |
pradeepvk2208 | 9:7ff6d75cc09e | 40 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 41 | pl_state= PL_HIBERNATE; |
pradeepvk2208 | 9:7ff6d75cc09e | 42 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 43 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 44 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 45 | pl_state=pl_prev_state; |
pradeepvk2208 | 9:7ff6d75cc09e | 46 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 47 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 48 | |
pradeepvk2208 | 9:7ff6d75cc09e | 49 | switch(pl_state) |
pradeepvk2208 | 9:7ff6d75cc09e | 50 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 51 | case PL_OFF: |
cholletisaik777 | 0:d6e3d1e21484 | 52 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 53 | if(pl_prev_state!=PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 54 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 55 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 56 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 57 | sr.printf("Power off SPEED\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 58 | pl_status=PL_OFF; |
pradeepvk2208 | 9:7ff6d75cc09e | 59 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 60 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 61 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 62 | case PL_STANDBY: |
pradeepvk2208 | 9:7ff6d75cc09e | 63 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 64 | if(power_level<0) |
pradeepvk2208 | 9:7ff6d75cc09e | 65 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 66 | pl_main_flags|=PL_LOW_POWER; |
pradeepvk2208 | 9:7ff6d75cc09e | 67 | if(pl_prev_state!=PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 68 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 69 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 70 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 71 | sr.printf("Power off SPEED\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 72 | pl_status=PL_OFF; |
pradeepvk2208 | 9:7ff6d75cc09e | 73 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 74 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 75 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 76 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 77 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 78 | if(pl_prev_state!=PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 79 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 80 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 81 | sr.printf("Power OFF SPEED PMTs\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 82 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 83 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 84 | pl_status=PL_STANDBY; |
pradeepvk2208 | 9:7ff6d75cc09e | 85 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 86 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 87 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 88 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 89 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 90 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 91 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 92 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 93 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 94 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 95 | sr.printf("Power on SPPED DL\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 96 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 97 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 98 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 99 | pl_status=PL_STANDBY; |
pradeepvk2208 | 9:7ff6d75cc09e | 100 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 101 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 102 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 103 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 104 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 105 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 106 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 107 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 108 | } |
cholletisaik777 | 0:d6e3d1e21484 | 109 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 110 | case PL_HIBERNATE: |
pradeepvk2208 | 9:7ff6d75cc09e | 111 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 112 | if(power_level<1) |
pradeepvk2208 | 9:7ff6d75cc09e | 113 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 114 | pl_main_flags|=PL_LOW_POWER; |
pradeepvk2208 | 9:7ff6d75cc09e | 115 | if(power_level<0) |
pradeepvk2208 | 9:7ff6d75cc09e | 116 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 117 | pl_main_flags|=PL_LOW_POWER; |
pradeepvk2208 | 9:7ff6d75cc09e | 118 | if(pl_prev_state!=PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 119 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 120 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 121 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 122 | sr.printf("Power off SPEED\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 123 | pl_status=PL_OFF; |
pradeepvk2208 | 9:7ff6d75cc09e | 124 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 125 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 126 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 127 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 128 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 129 | if(pl_prev_state!=PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 130 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 131 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 132 | sr.printf("Power OFF SPEED PMTs\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 133 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 134 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 135 | pl_status=PL_STANDBY; |
pradeepvk2208 | 9:7ff6d75cc09e | 136 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 137 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 138 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 139 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 140 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 141 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 142 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 143 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 144 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 145 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 146 | sr.printf("Power on SPPED DL\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 147 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 148 | if(I2C_acknowledgement==1) { |
pradeepvk2208 | 9:7ff6d75cc09e | 149 | pl_status=PL_STANDBY; |
pradeepvk2208 | 9:7ff6d75cc09e | 150 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 151 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 152 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 153 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 154 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 155 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 156 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 157 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 158 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 159 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 160 | if(power_level>1) |
pradeepvk2208 | 9:7ff6d75cc09e | 161 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 162 | if(pl_prev_state==PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 163 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 164 | sr.printf("Power on SPEED DL\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 165 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 166 | sr.printf("Power on Speed PMT with reduced Voltage\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 167 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 168 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 169 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 170 | pl_status=PL_HIBERNATE; |
pradeepvk2208 | 9:7ff6d75cc09e | 171 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 172 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 173 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 174 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 175 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 176 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 177 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 178 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 179 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 180 | |
pradeepvk2208 | 9:7ff6d75cc09e | 181 | case PL_SCIENCE: |
cholletisaik777 | 0:d6e3d1e21484 | 182 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 183 | |
pradeepvk2208 | 9:7ff6d75cc09e | 184 | if(power_level<2) |
pradeepvk2208 | 9:7ff6d75cc09e | 185 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 186 | if(power_level<1) |
pradeepvk2208 | 9:7ff6d75cc09e | 187 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 188 | pl_main_flags|=PL_LOW_POWER; |
pradeepvk2208 | 9:7ff6d75cc09e | 189 | if(power_level<0) |
pradeepvk2208 | 9:7ff6d75cc09e | 190 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 191 | pl_main_flags|=PL_LOW_POWER; |
pradeepvk2208 | 9:7ff6d75cc09e | 192 | if(pl_prev_state!=PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 193 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 194 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 195 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 196 | sr.printf("Power off SPEED\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 197 | pl_status=PL_OFF; |
pradeepvk2208 | 9:7ff6d75cc09e | 198 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 199 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 200 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 201 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 202 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 203 | if(pl_prev_state!=PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 204 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 205 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 206 | sr.printf("Power OFF SPEED PMTs\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 207 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 208 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 209 | pl_status=PL_STANDBY; |
pradeepvk2208 | 9:7ff6d75cc09e | 210 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 211 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 212 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 213 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 214 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 215 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 216 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 217 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 218 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 219 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 220 | sr.printf("Power on SPPED DL\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 221 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 222 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 223 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 224 | pl_status=PL_STANDBY; |
pradeepvk2208 | 9:7ff6d75cc09e | 225 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 226 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 227 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 228 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 229 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 230 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 231 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 232 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 233 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 234 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 235 | if(power_level>1) |
pradeepvk2208 | 9:7ff6d75cc09e | 236 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 237 | if(pl_prev_state==PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 238 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 239 | sr.printf("Power on SPEED DL\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 240 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 241 | sr.printf("Power on Speed PMT with reduced Voltage\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 242 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 243 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 244 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 245 | pl_status=PL_HIBERNATE; |
pradeepvk2208 | 9:7ff6d75cc09e | 246 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 247 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 248 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 249 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 250 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 251 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 252 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 253 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 254 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 255 | if(power_level>2) |
pradeepvk2208 | 9:7ff6d75cc09e | 256 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 257 | if(pl_prev_state==PL_SCIENCE) |
pradeepvk2208 | 9:7ff6d75cc09e | 258 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 259 | pl_status=PL_SCIENCE; |
pradeepvk2208 | 9:7ff6d75cc09e | 260 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 261 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 262 | else if(pl_prev_state==PL_HIBERNATE) |
pradeepvk2208 | 9:7ff6d75cc09e | 263 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 264 | sr.printf("Power on SPEED PMT with high voltage \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 265 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 266 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 267 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 268 | sr.printf("Enable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 269 | pl_status=PL_SCIENCE; |
pradeepvk2208 | 9:7ff6d75cc09e | 270 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 271 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 272 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 273 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 274 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 275 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 276 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 277 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 278 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 279 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 280 | |
pradeepvk2208 | 9:7ff6d75cc09e | 281 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 282 | if(pl_prev_state==PL_OFF) |
pradeepvk2208 | 9:7ff6d75cc09e | 283 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 284 | sr.printf("Power on SPEED DL\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 285 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 286 | sr.printf("Power on Speed PMT with reduced Voltage\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 287 | sr.printf("Command SPEED DL to go to Standby State (I2C) \r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 288 | if(I2C_acknowledgement==1) |
pradeepvk2208 | 9:7ff6d75cc09e | 289 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 290 | pl_status=PL_HIBERNATE; |
pradeepvk2208 | 9:7ff6d75cc09e | 291 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 292 | else |
pradeepvk2208 | 9:7ff6d75cc09e | 293 | { |
pradeepvk2208 | 9:7ff6d75cc09e | 294 | pl_status=PL_ERR_I2C; |
pradeepvk2208 | 9:7ff6d75cc09e | 295 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 296 | sr.printf("Disable SRP_INTERVAL_COUNTER\r\n"); |
pradeepvk2208 | 9:7ff6d75cc09e | 297 | pl_main_flags&=~(PL_MAIN_STATUS); |
pradeepvk2208 | 9:7ff6d75cc09e | 298 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 299 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 300 | |
pradeepvk2208 | 9:7ff6d75cc09e | 301 | |
cholletisaik777 | 0:d6e3d1e21484 | 302 | } |
pradeepvk2208 | 9:7ff6d75cc09e | 303 | |
pradeepvk2208 | 9:7ff6d75cc09e | 304 | } |
cholletisaik777 | 0:d6e3d1e21484 | 305 | } |