This repository was archived by the owner on Dec 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathtpt.trimpot.test.sb
More file actions
135 lines (114 loc) · 5.76 KB
/
Copy pathtpt.trimpot.test.sb
File metadata and controls
135 lines (114 loc) · 5.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Copyright (c) 2013, Laird
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
// IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
// SPDX-License-Identifier:ISC
//
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// +++++ ++
// +++++ When UwTerminal downloads the app it will store it as a filenname ++
// +++++ which consists of all characters up to the first . and excluding it ++
// +++++ ++
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// Simple program that reads the development board trim pot value and
// prints it to the UART
//
// 25/01/2013
//
//******************************************************************************
//******************************************************************************
// Laird Technologies (c) 2013
//
// Close the uart to reduce current consumption
//
//******************************************************************************
//******************************************************************************
// Definitions
//******************************************************************************
//Define how often to read the adc value in milliseconds
#define pollrate 1000
#define BT900_DEV_ID 0x42370900
#define BL600_DEV_ID 0x424C0600
#define BL620_DEV_ID 0x424C0620
//******************************************************************************
// Global Variable Declarations
//******************************************************************************
dim rc //Result code
dim adc
dim mv
//******************************************************************************
// Library Import
//******************************************************************************
//------------------------------------------------------------------------------
//** #include the correct GPIO library file for the smartBASIC module being used
//------------------------------------------------------------------------------
#include "lib\gpio.bl6xx.sblib"
//#include "lib\gpio.bt9xx.sblib"
//******************************************************************************
// Function and Subroutine definitions
//******************************************************************************
//==============================================================================
//==============================================================================
sub pollgpio() //This subroutine sets up the GPIO and starts the main timer
rc=GpioSetFunc(GPIO_TRIM_POT,1,2) //Remove the pull resistor
rc=GpioSetFunc(GPIO_TRIM_POT,3,0) //Set as SIO 5 as analog in
TimerStart(0,pollrate,1) //Starts a repeating timer using the value defined by poll rate
endsub
//==============================================================================
//==============================================================================
sub printvalues() //This subroutine prints the ADC values every time the timer rolls over
print "adc value is ";adc;"\n"
print "Trim Pot millivolt value is ";mv;"\n"
print "\n"
endsub
//******************************************************************************
// Handler definitions
//******************************************************************************
//==============================================================================
//==============================================================================
function HandlerTimer0() //This is what happens everytime the timer rolls over
adc=GpioRead(GPIO_TRIM_POT) //Get the adc value from SIO 5
mv=(adc*225)/128 //Convert the adc value into millivolts
printvalues() //Call the subroutine that prints the values
endfunc 1
//******************************************************************************
// Equivalent to main() in C
//******************************************************************************
//Print devkit config info
select DEV_ID
print "\nEnsure the DIP switches on CON14 are set as follows:"
case BT900_DEV_ID
print "\n OFF ON"
print "\nLED1 [1 x ]"
print "\nLED1 [2 x ]"
print "\nTempS [3 x ]"
print "\nTrimPot [4 -->]"
print "\nx = doesn't matter"
//BL600 or BL620
case else
print "\n OFF ON"
print "\n [1 x ]"
print "\nTempS [2 x ]"
print "\nTrimPot [3 -->]"
print "\n [4 x ]"
print "\nx = doesn't matter"
endselect
print "\n\n"
OnEvent EVTMR0 call HandlerTimer0 //wait for timer to roll over and then do everthing in handlertimer0
pollgpio() //This is what kicks it all off by calling the pollgpio subroutine
//------------------------------------------------------------------------------
// Wait for a synchronous event.
// An application can have multiple <WaitEvent> statements
//------------------------------------------------------------------------------
waitevent