Dependents:   mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510

Committer:
jacobjohnson
Date:
Mon Feb 27 17:45:05 2017 +0000
Revision:
1:f30bdcd2b33b
Parent:
0:098463de4c5d
changed the inputscale from 1 to 7 in analogin_api.c.  This will need to be changed later, and accessed from the main level, but for now this allows the  adc to read a value from 0 to 3.7V, instead of just up to 1V.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-onsemi 0:098463de4c5d 1 """
group-onsemi 0:098463de4c5d 2 mbed SDK
group-onsemi 0:098463de4c5d 3 Copyright (c) 2011-2013 ARM Limited
group-onsemi 0:098463de4c5d 4
group-onsemi 0:098463de4c5d 5 Licensed under the Apache License, Version 2.0 (the "License");
group-onsemi 0:098463de4c5d 6 you may not use this file except in compliance with the License.
group-onsemi 0:098463de4c5d 7 You may obtain a copy of the License at
group-onsemi 0:098463de4c5d 8
group-onsemi 0:098463de4c5d 9 http://www.apache.org/licenses/LICENSE-2.0
group-onsemi 0:098463de4c5d 10
group-onsemi 0:098463de4c5d 11 Unless required by applicable law or agreed to in writing, software
group-onsemi 0:098463de4c5d 12 distributed under the License is distributed on an "AS IS" BASIS,
group-onsemi 0:098463de4c5d 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
group-onsemi 0:098463de4c5d 14 See the License for the specific language governing permissions and
group-onsemi 0:098463de4c5d 15 limitations under the License.
group-onsemi 0:098463de4c5d 16 """
group-onsemi 0:098463de4c5d 17
group-onsemi 0:098463de4c5d 18 import re
group-onsemi 0:098463de4c5d 19 import sys
group-onsemi 0:098463de4c5d 20 import uuid
group-onsemi 0:098463de4c5d 21 from sys import stdout
group-onsemi 0:098463de4c5d 22 from socket import socket, AF_INET, SOCK_DGRAM
group-onsemi 0:098463de4c5d 23
group-onsemi 0:098463de4c5d 24 class UDPEchoServerTest():
group-onsemi 0:098463de4c5d 25 ECHO_SERVER_ADDRESS = ""
group-onsemi 0:098463de4c5d 26 ECHO_PORT = 0
group-onsemi 0:098463de4c5d 27 s = None # Socket
group-onsemi 0:098463de4c5d 28
group-onsemi 0:098463de4c5d 29 PATTERN_SERVER_IP = "Server IP Address is (\d+).(\d+).(\d+).(\d+):(\d+)"
group-onsemi 0:098463de4c5d 30 re_detect_server_ip = re.compile(PATTERN_SERVER_IP)
group-onsemi 0:098463de4c5d 31
group-onsemi 0:098463de4c5d 32 def test(self, selftest):
group-onsemi 0:098463de4c5d 33 result = True
group-onsemi 0:098463de4c5d 34 serial_ip_msg = selftest.mbed.serial_readline()
group-onsemi 0:098463de4c5d 35 if serial_ip_msg is None:
group-onsemi 0:098463de4c5d 36 return selftest.RESULT_IO_SERIAL
group-onsemi 0:098463de4c5d 37 selftest.notify(serial_ip_msg)
group-onsemi 0:098463de4c5d 38 # Searching for IP address and port prompted by server
group-onsemi 0:098463de4c5d 39 m = self.re_detect_server_ip.search(serial_ip_msg)
group-onsemi 0:098463de4c5d 40 if m and len(m.groups()):
group-onsemi 0:098463de4c5d 41 self.ECHO_SERVER_ADDRESS = ".".join(m.groups()[:4])
group-onsemi 0:098463de4c5d 42 self.ECHO_PORT = int(m.groups()[4]) # must be integer for socket.connect method
group-onsemi 0:098463de4c5d 43 selftest.notify("HOST: UDP Server found at: " + self.ECHO_SERVER_ADDRESS + ":" + str(self.ECHO_PORT))
group-onsemi 0:098463de4c5d 44
group-onsemi 0:098463de4c5d 45 # We assume this test fails so can't send 'error' message to server
group-onsemi 0:098463de4c5d 46 try:
group-onsemi 0:098463de4c5d 47 self.s = socket(AF_INET, SOCK_DGRAM)
group-onsemi 0:098463de4c5d 48 except Exception, e:
group-onsemi 0:098463de4c5d 49 self.s = None
group-onsemi 0:098463de4c5d 50 selftest.notify("HOST: Socket error: %s"% e)
group-onsemi 0:098463de4c5d 51 return selftest.RESULT_ERROR
group-onsemi 0:098463de4c5d 52
group-onsemi 0:098463de4c5d 53 for i in range(0, 100):
group-onsemi 0:098463de4c5d 54 TEST_STRING = str(uuid.uuid4())
group-onsemi 0:098463de4c5d 55 self.s.sendto(TEST_STRING, (self.ECHO_SERVER_ADDRESS, self.ECHO_PORT))
group-onsemi 0:098463de4c5d 56 data = self.s.recv(len(TEST_STRING))
group-onsemi 0:098463de4c5d 57 received_str = repr(data)[1:-1]
group-onsemi 0:098463de4c5d 58 if TEST_STRING != received_str:
group-onsemi 0:098463de4c5d 59 result = False
group-onsemi 0:098463de4c5d 60 break
group-onsemi 0:098463de4c5d 61 sys.stdout.write('.')
group-onsemi 0:098463de4c5d 62 stdout.flush()
group-onsemi 0:098463de4c5d 63 else:
group-onsemi 0:098463de4c5d 64 result = False
group-onsemi 0:098463de4c5d 65
group-onsemi 0:098463de4c5d 66 if self.s is not None:
group-onsemi 0:098463de4c5d 67 self.s.close()
group-onsemi 0:098463de4c5d 68 return selftest.RESULT_SUCCESS if result else selftest.RESULT_FAILURE