![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
baseline build
Dependencies: FastPWM mbed-os mbed
main.cpp@0:8a420ac6394e, 2017-06-19 (annotated)
- Committer:
- jrhodes5150
- Date:
- Mon Jun 19 15:55:51 2017 +0000
- Revision:
- 0:8a420ac6394e
initial build - baseline;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jrhodes5150 | 0:8a420ac6394e | 1 | |
jrhodes5150 | 0:8a420ac6394e | 2 | #include "mbed.h" |
jrhodes5150 | 0:8a420ac6394e | 3 | |
jrhodes5150 | 0:8a420ac6394e | 4 | #include "MillisecondCounter.h" |
jrhodes5150 | 0:8a420ac6394e | 5 | #include "SPIDAC.h" |
jrhodes5150 | 0:8a420ac6394e | 6 | #include "CMSerial.h" |
jrhodes5150 | 0:8a420ac6394e | 7 | #include "PowerController.h" |
jrhodes5150 | 0:8a420ac6394e | 8 | |
jrhodes5150 | 0:8a420ac6394e | 9 | DigitalOut myled(LED1); |
jrhodes5150 | 0:8a420ac6394e | 10 | LocalFileSystem local("local"); |
jrhodes5150 | 0:8a420ac6394e | 11 | int main() |
jrhodes5150 | 0:8a420ac6394e | 12 | { |
jrhodes5150 | 0:8a420ac6394e | 13 | |
jrhodes5150 | 0:8a420ac6394e | 14 | |
jrhodes5150 | 0:8a420ac6394e | 15 | CMSerial serial; |
jrhodes5150 | 0:8a420ac6394e | 16 | double calVal[8]; |
jrhodes5150 | 0:8a420ac6394e | 17 | int i = 0; |
jrhodes5150 | 0:8a420ac6394e | 18 | FILE *fp = fopen("/local/out.txt", "r"); // Open "out.txt" on the local file system for writing |
jrhodes5150 | 0:8a420ac6394e | 19 | if( fp != NULL) { |
jrhodes5150 | 0:8a420ac6394e | 20 | char buffer[128]; |
jrhodes5150 | 0:8a420ac6394e | 21 | while(fgets(buffer, 128, fp)) { |
jrhodes5150 | 0:8a420ac6394e | 22 | calVal[i] = atof(buffer); |
jrhodes5150 | 0:8a420ac6394e | 23 | i++; |
jrhodes5150 | 0:8a420ac6394e | 24 | wait(1); |
jrhodes5150 | 0:8a420ac6394e | 25 | } |
jrhodes5150 | 0:8a420ac6394e | 26 | fclose(fp); |
jrhodes5150 | 0:8a420ac6394e | 27 | } |
jrhodes5150 | 0:8a420ac6394e | 28 | |
jrhodes5150 | 0:8a420ac6394e | 29 | Device.deviceConfig.pwrCalLow = calVal[0]; |
jrhodes5150 | 0:8a420ac6394e | 30 | Device.deviceConfig.pwrCalHigh = calVal[1]; |
jrhodes5150 | 0:8a420ac6394e | 31 | Device.deviceConfig.vCalLow = calVal[2]; |
jrhodes5150 | 0:8a420ac6394e | 32 | Device.deviceConfig.vCalHigh = calVal[3]; |
jrhodes5150 | 0:8a420ac6394e | 33 | if(calVal[4] != 0){ |
jrhodes5150 | 0:8a420ac6394e | 34 | Device.deviceConfig.kp = calVal[4]; |
jrhodes5150 | 0:8a420ac6394e | 35 | Device.deviceConfig.ki = calVal[5]; |
jrhodes5150 | 0:8a420ac6394e | 36 | Device.deviceConfig.kd = calVal[6]; |
jrhodes5150 | 0:8a420ac6394e | 37 | Device.deviceConfig.PID_GOOD = true; |
jrhodes5150 | 0:8a420ac6394e | 38 | } |
jrhodes5150 | 0:8a420ac6394e | 39 | PowerController powerController; |
jrhodes5150 | 0:8a420ac6394e | 40 | StartTimer_ms(); |
jrhodes5150 | 0:8a420ac6394e | 41 | SPIDACInitialize(); |
jrhodes5150 | 0:8a420ac6394e | 42 | |
jrhodes5150 | 0:8a420ac6394e | 43 | |
jrhodes5150 | 0:8a420ac6394e | 44 | while(1) { |
jrhodes5150 | 0:8a420ac6394e | 45 | // pause |
jrhodes5150 | 0:8a420ac6394e | 46 | myled = (GetTime_ms() / 1000) & 1; |
jrhodes5150 | 0:8a420ac6394e | 47 | rtos::Thread::wait(100); |
jrhodes5150 | 0:8a420ac6394e | 48 | } |
jrhodes5150 | 0:8a420ac6394e | 49 | } |
jrhodes5150 | 0:8a420ac6394e | 50 |