Sold slow control/

Dependents:   sscm

Fork of S_SCTRL_SMlib by wimbeaumont Project

Committer:
wbeaumont
Date:
Sun Sep 07 14:39:32 2014 +0000
Revision:
0:8d755a0f3ab3
Child:
1:af78e316f889
inital lib untested to include in e test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wbeaumont 0:8d755a0f3ab3 1 /* hardware functions */
wbeaumont 0:8d755a0f3ab3 2 #include "mbed.h"
wbeaumont 0:8d755a0f3ab3 3 #include "S_SCTRL_SM1_PinDef.h"
wbeaumont 0:8d755a0f3ab3 4 #include "S_CTRL_SM1_hwfunct.h"
wbeaumont 0:8d755a0f3ab3 5
wbeaumont 0:8d755a0f3ab3 6 HWlines hwlines;
wbeaumont 0:8d755a0f3ab3 7
wbeaumont 0:8d755a0f3ab3 8 void assignports( ){
wbeaumont 0:8d755a0f3ab3 9
wbeaumont 0:8d755a0f3ab3 10 /// devices
wbeaumont 0:8d755a0f3ab3 11 // SPI BI pins
wbeaumont 0:8d755a0f3ab3 12 hwlines.msio[0] = new DigitalInOut(ADC_STIO);
wbeaumont 0:8d755a0f3ab3 13 hwlines.sclk[0] = new DigitalOut(SCLK);
wbeaumont 0:8d755a0f3ab3 14 hwlines.direction[0] = new DigitalOut(DIRECTION);
wbeaumont 0:8d755a0f3ab3 15 hwlines.stio_mo[0] = new DigitalOut(STIO_MO);
wbeaumont 0:8d755a0f3ab3 16 hwlines.csb1_1[0] = new DigitalOut(ADC1_CSN);
wbeaumont 0:8d755a0f3ab3 17 hwlines.csb2_1[0] = new DigitalOut(ADC2_CSN);
wbeaumont 0:8d755a0f3ab3 18
wbeaumont 0:8d755a0f3ab3 19
wbeaumont 0:8d755a0f3ab3 20
wbeaumont 0:8d755a0f3ab3 21 // SPI pins
wbeaumont 0:8d755a0f3ab3 22 hwlines.mosi[0] = new DigitalOut(MOSI);
wbeaumont 0:8d755a0f3ab3 23 hwlines.miso[0] = new DigitalIn(MISO);
wbeaumont 0:8d755a0f3ab3 24
wbeaumont 0:8d755a0f3ab3 25 hwlines.t_cs[0] = new DigitalOut(TEMP_CSN);
wbeaumont 0:8d755a0f3ab3 26 hwlines.tc_cs1[0] = new DigitalOut(TEMP_CABLE_CSN1);
wbeaumont 0:8d755a0f3ab3 27 hwlines.tc_cs2[0] = new DigitalOut(TEMP_CABLE_CSN2);
wbeaumont 0:8d755a0f3ab3 28 hwlines.dac_cs[0] = new DigitalOut(DAC_DCEN);
wbeaumont 0:8d755a0f3ab3 29 hwlines.dac_rst[0] = new DigitalOut(DAC_RSTN);
wbeaumont 0:8d755a0f3ab3 30
wbeaumont 0:8d755a0f3ab3 31
wbeaumont 0:8d755a0f3ab3 32
wbeaumont 0:8d755a0f3ab3 33
wbeaumont 0:8d755a0f3ab3 34 // devices
wbeaumont 0:8d755a0f3ab3 35 // SPI BI pins
wbeaumont 0:8d755a0f3ab3 36 hwlines.msio[1] = new DigitalInOut(ADC_2_STIO);
wbeaumont 0:8d755a0f3ab3 37 hwlines.sclk[1] = new DigitalOut(SCLK2);
wbeaumont 0:8d755a0f3ab3 38 hwlines.direction[1] = new DigitalOut(DIRECTION2);
wbeaumont 0:8d755a0f3ab3 39 hwlines.stio_mo[1] = new DigitalOut(STIO2_MO);
wbeaumont 0:8d755a0f3ab3 40 hwlines.csb1_1[1] = new DigitalOut(ADC1_2_CSN);
wbeaumont 0:8d755a0f3ab3 41 hwlines.csb2_1[1] = new DigitalOut(ADC2_2_CSN);
wbeaumont 0:8d755a0f3ab3 42
wbeaumont 0:8d755a0f3ab3 43 // SPI pins
wbeaumont 0:8d755a0f3ab3 44 hwlines.mosi[1] = new DigitalOut(MOSI_2);
wbeaumont 0:8d755a0f3ab3 45 hwlines.miso[1] = new DigitalIn(MISO_2);
wbeaumont 0:8d755a0f3ab3 46
wbeaumont 0:8d755a0f3ab3 47 hwlines.t_cs[1] = new DigitalOut(TEMP_2_CSN);
wbeaumont 0:8d755a0f3ab3 48 hwlines.tc_cs1[1] = new DigitalOut(TEMP_2_CABLE_CSN1);
wbeaumont 0:8d755a0f3ab3 49 hwlines.tc_cs2[1] = new DigitalOut(TEMP_2_CABLE_CSN2);
wbeaumont 0:8d755a0f3ab3 50 hwlines.dac_cs[1] = new DigitalOut(DAC_2_DCEN);
wbeaumont 0:8d755a0f3ab3 51 hwlines.dac_rst[1] = new DigitalOut(DAC_2_RSTN);
wbeaumont 0:8d755a0f3ab3 52
wbeaumont 0:8d755a0f3ab3 53
wbeaumont 0:8d755a0f3ab3 54 //cal
wbeaumont 0:8d755a0f3ab3 55 hwlines.cal13[0] = new DigitalOut(CAL_TRIG_1AND3);
wbeaumont 0:8d755a0f3ab3 56 hwlines.cal24[0] = new DigitalOut(CAL_TRIG_2AND4);
wbeaumont 0:8d755a0f3ab3 57 hwlines.calint[0] = new DigitalOut(SEL_CAL_INT);
wbeaumont 0:8d755a0f3ab3 58 hwlines.cal13[1] = new DigitalOut(CAL_TRIG_1AND3);
wbeaumont 0:8d755a0f3ab3 59 hwlines.cal24[1] = new DigitalOut(CAL_TRIG_2AND4);
wbeaumont 0:8d755a0f3ab3 60 hwlines.calint[1] = new DigitalOut(SEL_CAL_INT_2);
wbeaumont 0:8d755a0f3ab3 61
wbeaumont 0:8d755a0f3ab3 62 hwlines.calext = new DigitalOut(SEL_CAL_EXT);
wbeaumont 0:8d755a0f3ab3 63 hwlines.calgenext = new DigitalOut(GEN_EXT_CAL);
wbeaumont 0:8d755a0f3ab3 64
wbeaumont 0:8d755a0f3ab3 65 hwlines.ledred = new DigitalOut(LEDRED);
wbeaumont 0:8d755a0f3ab3 66 hwlines.ledgreen = new DigitalOut(LEDGREEN);
wbeaumont 0:8d755a0f3ab3 67
wbeaumont 0:8d755a0f3ab3 68 hwlines.ain1 = new AnalogIn(ADC1);
wbeaumont 0:8d755a0f3ab3 69 hwlines.ain2 = new AnalogIn(ADC2);
wbeaumont 0:8d755a0f3ab3 70
wbeaumont 0:8d755a0f3ab3 71
wbeaumont 0:8d755a0f3ab3 72 }
wbeaumont 0:8d755a0f3ab3 73
wbeaumont 0:8d755a0f3ab3 74
wbeaumont 0:8d755a0f3ab3 75
wbeaumont 0:8d755a0f3ab3 76 // select intern or extern cal 0 = intern, 1 is extern
wbeaumont 0:8d755a0f3ab3 77 void setcalsource( int extcal, HWlines hwl) {
wbeaumont 0:8d755a0f3ab3 78 *(hwl.calext)=0; *(hwl.calint[0])=0; *(hwl.calint[0])=0; //disable all
wbeaumont 0:8d755a0f3ab3 79 if ( external==1 ) {*(hwl.calext)=1; }
wbeaumont 0:8d755a0f3ab3 80 else {*(hwl.calint[0])=1; *(hwl.calint[0])=1; }
wbeaumont 0:8d755a0f3ab3 81
wbeaumont 0:8d755a0f3ab3 82
wbeaumont 0:8d755a0f3ab3 83 }
wbeaumont 0:8d755a0f3ab3 84
wbeaumont 0:8d755a0f3ab3 85 // set tje default , save values
wbeaumont 0:8d755a0f3ab3 86 void setdefault(HWlines hwl ) {
wbeaumont 0:8d755a0f3ab3 87 for ( int i=0;i<2;i++){
wbeaumont 0:8d755a0f3ab3 88 hwl.msio[i]->input();
wbeaumont 0:8d755a0f3ab3 89 *(hwl.direction[i])=LDIR_IN;
wbeaumont 0:8d755a0f3ab3 90 *(hwl.stio_mo[i])=RDIR_IN
wbeaumont 0:8d755a0f3ab3 91 }
wbeaumont 0:8d755a0f3ab3 92 setcalsource(0,hwlines); //intern
wbeaumont 0:8d755a0f3ab3 93 }
wbeaumont 0:8d755a0f3ab3 94