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
src/boards.cpp
- Committer:
- mfwic
- Date:
- 2018-12-08
- Revision:
- 12:fd1fd1857628
- Parent:
- 11:01dcfb29fbc4
- Child:
- 15:aed8f326c949
File content as of revision 12:fd1fd1857628:
//-------------------------------------------------------------------------------
//
// Treehouse Designs Inc.
// Colorado Springs, Colorado
//
// Copyright (c) 2016 by Treehouse Designs Inc.
// Copyright (c) 2018 by Agility Power Systems Inc.
//
// This code is the property of Treehouse Designs, Inc. (Treehouse) and
// Agility Power Systems Inc. (Agility) and may not be redistributed
// in any form without prior written permission from
// both copyright holders, Treehouse and Agility.
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
//
//-------------------------------------------------------------------------------
//
// REVISION HISTORY:
//
// $Author: $
// $Rev: $
// $Date: $
// $URL: $
//
//-------------------------------------------------------------------------------
#include "mbed.h"
#include "globals.h"
#include "parameters.h"
#include "boards.h"
#include "lut.h"
#include "all_io.h"
#include "serial.h"
#include "stdio.h"
unsigned int boardEnableBits;
/*******************************************************************************
delay
*******************************************************************************/
void delay(long ticks)
{
long i;
for(i=0;i<ticks;i++);
}
/*******************************************************************************
setBoardEnables
*******************************************************************************/
unsigned int setBoardEnables(unsigned int tCode)
{
wr_out = tCode;
return tCode;
}
/*******************************************************************************
setBoardWeights
*******************************************************************************/
unsigned int setBoardWeights(unsigned int bCode)
{
en_out = bCode;
toggleLatchSignal();
return bCode;
}
/*******************************************************************************
toggleLatchSignal
*******************************************************************************/
void toggleLatchSignal(void){
extchlat = OFF;
extchlat = ON;
extchlat = OFF;
}
/************************************************************
* Routine: checkRange
* Input: setval
* limlo -- low limit
* limhi -- high limit
* Returns: 1 if entry validates and is written
* 0 if entry fails
* -1 if it slips past
* Description:
* Checks if setvalue is between the given limits.
*
**************************************************************/
int checkRange(int setvalue, int limlo, int limhi)
{
if ((setvalue >= limlo) && (setvalue <= limhi)){
return 1;
}else{
//showRangeError(0, 0, setvalue);
return 0;
}
}
/*******************************************************************************
startConverter
*******************************************************************************/
void startConverter(unsigned int reg)
{
running = TRUE;
// Fire in the hole!
wr_out_code = setBoardEnables(reg);
sprintf(strbuf, "\r\nConverter started");
sendSerial(strbuf);
}
/*******************************************************************************
stopConverter - stop the converter and set outputs to 0
*******************************************************************************/
void stopConverter(void)
{
wr_out_code = setBoardEnables(ALLOFF);
running = FALSE;
sprintf(strbuf, "\r\nConverter stopped");
sendSerial(strbuf);
}
/*******************************************************************************
updateControls
*******************************************************************************/
void updateControls(unsigned short ref){
unsigned int cBuf = getLUT_thermCode(ref);
wr_out_code = setBoardEnables(cBuf);
cBuf = getLUT_binCode(ref);
en_out_code = setBoardWeights(cBuf);
}
void XupdateControls(unsigned short ref){
sprintf(strbuf, "refr=%d\r\n", ref);
sendSerial(strbuf);
ref = ref/64;
sprintf(strbuf, "refc=%d\r\n", ref);
sendSerial(strbuf);
sendSerial("enter updateControls\r\n");
unsigned int cBuf = getLUT_thermCode(ref);
sendSerial("cBuf1 updateControls\r\n");
wr_out_code = setBoardEnables(cBuf);
sendSerial("wr_out_code updateControls\r\n");
cBuf = getLUT_binCode(ref);
sendSerial("cBuf2 updateControls\r\n");
en_out_code = setBoardWeights(cBuf);
sendSerial("en_out_code updateControls\r\n");
wait(0.5);
}