takashi kadono / Mbed OS Nucleo446_SSD1331

Dependencies:   ssd1331

Committer:
kadonotakashi
Date:
Thu Oct 11 02:27:46 2018 +0000
Revision:
3:f3764f852aa8
Parent:
0:8fdf9a60065b
Nucreo 446 + SSD1331 test version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kadonotakashi 0:8fdf9a60065b 1 """
kadonotakashi 0:8fdf9a60065b 2 Copyright (c) 2017, Arm Limited and affiliates.
kadonotakashi 0:8fdf9a60065b 3 SPDX-License-Identifier: Apache-2.0
kadonotakashi 0:8fdf9a60065b 4
kadonotakashi 0:8fdf9a60065b 5 Licensed under the Apache License, Version 2.0 (the "License");
kadonotakashi 0:8fdf9a60065b 6 you may not use this file except in compliance with the License.
kadonotakashi 0:8fdf9a60065b 7 You may obtain a copy of the License at
kadonotakashi 0:8fdf9a60065b 8
kadonotakashi 0:8fdf9a60065b 9 http://www.apache.org/licenses/LICENSE-2.0
kadonotakashi 0:8fdf9a60065b 10
kadonotakashi 0:8fdf9a60065b 11 Unless required by applicable law or agreed to in writing, software
kadonotakashi 0:8fdf9a60065b 12 distributed under the License is distributed on an "AS IS" BASIS,
kadonotakashi 0:8fdf9a60065b 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
kadonotakashi 0:8fdf9a60065b 14 See the License for the specific language governing permissions and
kadonotakashi 0:8fdf9a60065b 15 limitations under the License.
kadonotakashi 0:8fdf9a60065b 16 """
kadonotakashi 0:8fdf9a60065b 17
kadonotakashi 0:8fdf9a60065b 18 import os,sys
kadonotakashi 0:8fdf9a60065b 19 from icetea_lib.bench import Bench
kadonotakashi 0:8fdf9a60065b 20
kadonotakashi 0:8fdf9a60065b 21 class Testcase(Bench):
kadonotakashi 0:8fdf9a60065b 22 def __init__(self):
kadonotakashi 0:8fdf9a60065b 23 Bench.__init__(self, name = "create_and_join_PAN",
kadonotakashi 0:8fdf9a60065b 24 title = "Create a PAN and have a device join it",
kadonotakashi 0:8fdf9a60065b 25 status = "development",
kadonotakashi 0:8fdf9a60065b 26 type = "smoke",
kadonotakashi 0:8fdf9a60065b 27 subtype = "",
kadonotakashi 0:8fdf9a60065b 28 execution = {
kadonotakashi 0:8fdf9a60065b 29 "skip": {
kadonotakashi 0:8fdf9a60065b 30 "value": False,
kadonotakashi 0:8fdf9a60065b 31 "reason": ""
kadonotakashi 0:8fdf9a60065b 32 }
kadonotakashi 0:8fdf9a60065b 33 },
kadonotakashi 0:8fdf9a60065b 34 author = "Valtteri Erkkila",
kadonotakashi 0:8fdf9a60065b 35 purpose = "",
kadonotakashi 0:8fdf9a60065b 36 feature = ["MLME-START", "MLME-SCAN (active)"],
kadonotakashi 0:8fdf9a60065b 37 component = ["MAC"],
kadonotakashi 0:8fdf9a60065b 38 requirements = {
kadonotakashi 0:8fdf9a60065b 39 "duts": {
kadonotakashi 0:8fdf9a60065b 40 '*': {
kadonotakashi 0:8fdf9a60065b 41 "count":3,
kadonotakashi 0:8fdf9a60065b 42 "type": "hardware",
kadonotakashi 0:8fdf9a60065b 43 "allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "UBLOX_EVK_ODIN_W2"],
kadonotakashi 0:8fdf9a60065b 44 "application": {
kadonotakashi 0:8fdf9a60065b 45 "name": "TEST_APPS-device-nanostack_mac_tester"
kadonotakashi 0:8fdf9a60065b 46 }
kadonotakashi 0:8fdf9a60065b 47 },
kadonotakashi 0:8fdf9a60065b 48 "1":{"nick": "First"},
kadonotakashi 0:8fdf9a60065b 49 "2":{"nick": "Second"},
kadonotakashi 0:8fdf9a60065b 50 "3":{"nick": "Third"}
kadonotakashi 0:8fdf9a60065b 51 }}
kadonotakashi 0:8fdf9a60065b 52 )
kadonotakashi 0:8fdf9a60065b 53
kadonotakashi 0:8fdf9a60065b 54 def mask_from_channel_list(self, channels):
kadonotakashi 0:8fdf9a60065b 55 res = 0
kadonotakashi 0:8fdf9a60065b 56 for ch in channels:
kadonotakashi 0:8fdf9a60065b 57 res = res | ( 1 << ch)
kadonotakashi 0:8fdf9a60065b 58 return hex(res)
kadonotakashi 0:8fdf9a60065b 59
kadonotakashi 0:8fdf9a60065b 60 def setUp(self):
kadonotakashi 0:8fdf9a60065b 61 self.channel = 11
kadonotakashi 0:8fdf9a60065b 62
kadonotakashi 0:8fdf9a60065b 63 def case(self):
kadonotakashi 0:8fdf9a60065b 64 #Beacon payload & length
kadonotakashi 0:8fdf9a60065b 65 self.command("First", "mlme-set --attr 0x45 --value_ascii mac-tester --value_size 10")
kadonotakashi 0:8fdf9a60065b 66 self.command("First", "mlme-set --attr 0x46 --value_uint8 10 --value_size 1")
kadonotakashi 0:8fdf9a60065b 67
kadonotakashi 0:8fdf9a60065b 68 self.command("Second", "mlme-set --attr 0x45 --value_ascii second-mac-tester --value_size 17")
kadonotakashi 0:8fdf9a60065b 69 self.command("Second", "mlme-set --attr 0x46 --value_uint8 17 --value_size 1")
kadonotakashi 0:8fdf9a60065b 70
kadonotakashi 0:8fdf9a60065b 71 self.command("First", "start --pan_coordinator true --logical_channel {}".format(self.channel))
kadonotakashi 0:8fdf9a60065b 72 self.command("Second", "start --pan_coordinator true --logical_channel {}".format(int(self.channel)+1))
kadonotakashi 0:8fdf9a60065b 73 self.delay(3)
kadonotakashi 0:8fdf9a60065b 74 if self.channel == 11:
kadonotakashi 0:8fdf9a60065b 75 channels = [11,12]
kadonotakashi 0:8fdf9a60065b 76 elif self.channel == 26:
kadonotakashi 0:8fdf9a60065b 77 channels = [25,26]
kadonotakashi 0:8fdf9a60065b 78 else:
kadonotakashi 0:8fdf9a60065b 79 channels = [self.channel, self.channel+1]
kadonotakashi 0:8fdf9a60065b 80 self.command("Third", "scan --channel_mask {}".format(self.mask_from_channel_list(channels)))
kadonotakashi 0:8fdf9a60065b 81 self.delay(0.2)
kadonotakashi 0:8fdf9a60065b 82 self.command("Third", "find-beacon --data mac-tester")
kadonotakashi 0:8fdf9a60065b 83 self.command("Third", "find-beacon --data second-mac-tester")
kadonotakashi 0:8fdf9a60065b 84
kadonotakashi 0:8fdf9a60065b 85 def tearDown(self):
kadonotakashi 0:8fdf9a60065b 86 self.reset_dut()