Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: src/boards.cpp
- Revision:
- 6:39442d493098
- Parent:
- 5:09be5bbb5020
- Child:
- 8:d3d7dca419b3
--- a/src/boards.cpp Sat Dec 01 00:08:53 2018 +0000
+++ b/src/boards.cpp Mon Dec 03 01:03:14 2018 +0000
@@ -37,53 +37,73 @@
unsigned int boardEnableBits;
-
+/*******************************************************************************
+delay
+*******************************************************************************/
void delay(long ticks)
{
long i;
for(i=0;i<ticks;i++);
}
-void setBoardEnables(unsigned int enableBits[])
+/*******************************************************************************
+setBoardEnables
+*******************************************************************************/
+//void setBoardEnables(unsigned int enableBits[])
+unsigned int setBoardEnables(unsigned int tCode)
{
- unsigned int i, boardEnable;
-
+ unsigned int i = 0;
+ unsigned int boardTcode = 0;
// Default is all boards OFF
- unsigned int boardsEnabled = ALLOFF;
-
- for (i = 0; i < MAX_BOARDS; i++)
- {
+ //unsigned int boardTcode = ALLOFF;
+
+ dec2therm_fix(tCode, (unsigned int)BOARDS_THERMCODE_WIDTH);
+
+ for (i = 0; i < MAX_BOARDS; i++){
// 0 == enabled
- boardEnable = (enableBits[i] & (1 << i));
-
+ boardTcode = (thermCode[i] & (1 << i));
}
-
- wr_out = boardEnable;
-
+
+ //wr_out = boardTcode;
+ wr_out = tCode;
+ //return boardTcode;
+ return tCode;
}
-void setBoardWeights(unsigned int enableWeights[])
+/*******************************************************************************
+setBoardWeights
+*******************************************************************************/
+//void setBoardWeights(unsigned int enableWeights[])
+unsigned int setBoardWeights(unsigned int bCode)
{
- unsigned int i, boardWeight;
+ unsigned int i = 0;
+ unsigned int boardBcode = 0;
+
+ dec2bin_fix(bCode, WEIGHT_BIN_WIDTH);
- for (i = 0; i < MAX_BOARDS; i++)
- {
+ for (i = 0; i <= WEIGHT_BIN_WIDTH; i++){
// 0 == enabled
- boardWeight = (enableWeights[i] & (1 << i));
-
+ boardBcode = (binCode[i] & (1 << i));
}
-
- en_out = boardWeight;
+ //en_out = boardBcode;
+ en_out = bCode;
toggleLatchSignal();
-
+ //return boardBcode;
+ return bCode;
}
+/*******************************************************************************
+toggleLatchSignal
+*******************************************************************************/
void toggleLatchSignal(void){
extchlat = OFF;
extchlat = ON;
extchlat = OFF;
}
-
+
+/*******************************************************************************
+initDACs
+*******************************************************************************/
void initDACs(void)
{
//setupDacInit();
@@ -104,70 +124,73 @@
**************************************************************/
int checkRange(int setvalue, int limlo, int limhi)
{
-
- if ((setvalue >= limlo) && (setvalue <= limhi))
- {
+ if ((setvalue >= limlo) && (setvalue <= limhi)){
return 1;
- }
- else
- {
+ }else{
showRangeError(0, 0, setvalue);
return 0;
}
-
}
-// start the converter
+/*******************************************************************************
+startConverter
+*******************************************************************************/
// RK: ch[i][reg].enabled has not been used correctly yet. Need to modify that code.
void startConverter(unsigned int reg)
{
-
- int i;
+ //unsigned int i;
//float period;
-
running = TRUE;
- unsigned int boardsEnabled = 0;
-
- char stemp[50];
+ //unsigned int boardsEnabled = 0;
+ //char stemp[50];
- for (i = 0; i < MAX_BOARDS; i++)
- {
- //if (ch[i][reg].enabled == 1)
- //{
- // Set the corresponding bit
- boardsEnabled |= (1 << i);
-
- sprintf(stemp, "\n\rBoard %d RUNNING", i + 1);
- sendSerial(stemp);
- //}
- }
-
+ //for (i = 0; i < MAX_BOARDS; i++){
+ // //if (ch[i][reg].enabled == 1)
+ // //{
+ // // Set the corresponding bit
+ // boardsEnabled |= (1 << i);
+ //
+ // sprintf(stemp, "\n\rBoard %d RUNNING", i + 1);
+ // sendSerial(stemp);
+ // //}
+ //}
// Invert the bits because 0 == enabled on the SPI write
//boardsEnabled = ~boardsEnabled;
// Fire in the hole!
- setBoardEnables(thermCode);
+ wr_out_code = setBoardEnables(reg);
+
+ sprintf(strbuf, "\r\nConverter started");
+ sendSerial(strbuf);
//setupRunVoltages();
-
//currentRegister = reg;
-
//pulser.attach_us(&pulserInt, period);
}
-// stop the converter and set outputs to 0
+/*******************************************************************************
+stopConverter - stop the converter and set outputs to 0
+*******************************************************************************/
void stopConverter(void)
{
//pulser.detach();
- setBoardEnables(ALLOFF);
+ wr_out_code = setBoardEnables(ALLOFF);
+ //setBoardEnables((unsigned int *)alloff);
running = FALSE;
-
+ sprintf(strbuf, "\r\nConverter stopped");
+ sendSerial(strbuf);
}
-void updateControls(int my12){
+/*******************************************************************************
+updateControls
+*******************************************************************************/
+void updateControls(unsigned short ref){
//getLUTcode(i12);
- getLUTcode(my12);
- setBoardEnables(thermCode);
- setBoardWeights(binCode);
+ //getLUTcode(my12);
+ unsigned int cBuf = getLUT_thermCode(ref);
+ wr_out_code = setBoardEnables(cBuf);
+
+ cBuf = getLUT_binCode(ref);
+ en_out_code = setBoardWeights(cBuf);
}
\ No newline at end of file