diff --git a/.gitignore b/.gitignore index e89472c010..75a3ee6fee 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,52 @@ test_suite.json # default delivery dir DELIVERY/ +cmake-build-debug/.mbedignore +cmake-build-debug/cmake_install.cmake +cmake-build-debug/CMakeCache.txt +cmake-build-debug/CMakeFiles/3.13.2/CMakeASMCompiler.cmake +cmake-build-debug/CMakeFiles/3.13.2/CMakeCCompiler.cmake +cmake-build-debug/CMakeFiles/3.13.2/CMakeCXXCompiler.cmake +cmake-build-debug/CMakeFiles/3.13.2/CMakeSystem.cmake +cmake-build-debug/CMakeFiles/3.13.2/CompilerIdC/CMakeCCompilerId.c +cmake-build-debug/CMakeFiles/3.13.2/CompilerIdC/CMakeCCompilerId.o +cmake-build-debug/CMakeFiles/3.13.2/CompilerIdCXX/CMakeCXXCompilerId.cpp +cmake-build-debug/CMakeFiles/3.13.2/CompilerIdCXX/CMakeCXXCompilerId.o +cmake-build-debug/CMakeFiles/clion-environment.txt +cmake-build-debug/CMakeFiles/clion-log.txt +cmake-build-debug/CMakeFiles/cmake.check_cache +cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake +cmake-build-debug/CMakeFiles/CMakeError.log +cmake-build-debug/CMakeFiles/CMakeOutput.log +cmake-build-debug/CMakeFiles/CMakeRuleHashes.txt +cmake-build-debug/CMakeFiles/feature_tests.c +cmake-build-debug/CMakeFiles/feature_tests.cxx +cmake-build-debug/CMakeFiles/Makefile.cmake +cmake-build-debug/CMakeFiles/Makefile2 +cmake-build-debug/CMakeFiles/mbed-cli-build.dir/build.make +cmake-build-debug/CMakeFiles/mbed-cli-build.dir/cmake_clean.cmake +cmake-build-debug/CMakeFiles/mbed-cli-build.dir/DependInfo.cmake +cmake-build-debug/CMakeFiles/mbed-cli-build.dir/progress.make +cmake-build-debug/CMakeFiles/mbed-os.dir/build.make +cmake-build-debug/CMakeFiles/mbed-os.dir/cmake_clean.cmake +cmake-build-debug/CMakeFiles/mbed-os.dir/depend.make +cmake-build-debug/CMakeFiles/mbed-os.dir/DependInfo.cmake +cmake-build-debug/CMakeFiles/mbed-os.dir/flags.make +cmake-build-debug/CMakeFiles/mbed-os.dir/link.txt +cmake-build-debug/CMakeFiles/mbed-os.dir/objects1.rsp +cmake-build-debug/CMakeFiles/mbed-os.dir/progress.make +cmake-build-debug/CMakeFiles/progress.marks +cmake-build-debug/CMakeFiles/TargetDirectories.txt +cmake-build-debug/compiler-file3040531024441447850.d +cmake-build-debug/compiler-file4529788487702700900.d +cmake-build-debug/compiler-file4727057748131971377.d +cmake-build-debug/compiler-file8813331766360922248.d +cmake-build-debug/main.d +cmake-build-debug/Makefile +cmake-build-debug/mbed-os.cbp +cmake-build-debug/nfccommands.d +cmake-build-debug/NFCController.d +cmake-build-debug/nfcprocess.d +cmake-build-debug/nfcprocessCtrl.d +cmake-build-debug/nfctestshim.d +cmake-build-debug/uart.d diff --git a/TEST_APPS/device/nfcapp/nfcprocessCtrl.cpp b/TEST_APPS/device/nfcapp/nfcprocessCtrl.cpp index ec6ff54e9f..42f38f6f38 100644 --- a/TEST_APPS/device/nfcapp/nfcprocessCtrl.cpp +++ b/TEST_APPS/device/nfcapp/nfcprocessCtrl.cpp @@ -47,7 +47,9 @@ using mbed::nfc::ndef::common::Text; using mbed::nfc::ndef::common::URI; using mbed::nfc::NFCController; -//class NFCProcessController : NFCRemoteInitiator::Delegate, NFCController::Delegate { +/** + * Implements NFCRemoteInitiator::Delegate, NFCController::Delegate + */ NFCProcessController::NFCProcessController(events::EventQueue &queue) : NFCTestShim(queue), diff --git a/TEST_APPS/device/nfcapp/nfctestshim.cpp b/TEST_APPS/device/nfcapp/nfctestshim.cpp index 79ba38dc74..6136e84b17 100644 --- a/TEST_APPS/device/nfcapp/nfctestshim.cpp +++ b/TEST_APPS/device/nfcapp/nfctestshim.cpp @@ -81,9 +81,11 @@ char const *uri_prefix_string[] = { "", "urn:nfc:" }; -int last_nfc_error = 0; + } + +int NFCTestShim::last_nfc_error = 0; NFCTestShim *pNFC_Test_Shim = NULL; NFCTestShim::NFCTestShim(events::EventQueue &queue) : @@ -114,8 +116,8 @@ void NFCTestShim::cmd_get_conf_nfceeprom() */ void NFCTestShim::get_last_nfc_error() { - int last = ::last_nfc_error; - ::last_nfc_error = 0; + int last = last_nfc_error; + last_nfc_error = 0; // return data as text to the plugin framework cmd_printf("{{lastnfcerror=%d}}\r\n", last); cmd_ready(CMDLINE_RETCODE_SUCCESS); @@ -123,8 +125,8 @@ void NFCTestShim::get_last_nfc_error() void NFCTestShim::set_last_nfc_error(int err) { - ::last_nfc_error = err; - cmd_printf("\r\n{{lastnfcerror=%d}}\r\n", ::last_nfc_error); + last_nfc_error = err; + cmd_printf("\r\n{{lastnfcerror=%d}}\r\n", last_nfc_error); } // if an NFC EEPROM driver is configured @@ -311,19 +313,30 @@ void NFCTestShim::cmd_set_smartposter(char *cmdUri) { MessageBuilder builder(_ndef_poster_message); - uint8_t smart_poster_buffer[1024]; - MessageBuilder smart_poster_builder(smart_poster_buffer); + struct SPBuilder: MessageBuilder::PayloadBuilder { + SPBuilder(char * cmd_uri) { + URI::uri_identifier_code_t uri_id = get_ndef_record_type(cmd_uri); + char *urlbegin = cmd_uri + + strlen(get_ndef_record_type_prefix(uri_id)); + uri = URI(uri_id, span_from_cstr(urlbegin)); + cmd_printf("{{uri_id=%d}}\r\n", (int) uri_id); + } - URI::uri_identifier_code_t uri_id = get_ndef_record_type(cmdUri); - char *urlbegin = cmdUri + strlen(get_ndef_record_type_prefix(uri_id)); - URI uri(uri_id, span_from_cstr(urlbegin)); - cmd_printf("{{uri_id=%d}}\r\n", (int)uri_id); + virtual size_t size() const { + return uri.get_record_size(); + } - uri.append_as_record(smart_poster_builder, true); + virtual void build(const Span &buffer) const { + MessageBuilder smart_poster_builder(buffer); + + uri.append_as_record(smart_poster_builder, true); + } + URI uri; + }; builder.append_record( RecordType(RecordType::well_known_type, span_from_cstr("Sp")), - smart_poster_builder.get_message(), true); + SPBuilder(cmdUri), true); _ndef_write_buffer_used = builder.get_message().size(); trace_printf("Composed NDEF message %d bytes\r\n", _ndef_write_buffer_used); diff --git a/TEST_APPS/device/nfcapp/nfctestshim.h b/TEST_APPS/device/nfcapp/nfctestshim.h index 29967718f6..b6d463acdb 100644 --- a/TEST_APPS/device/nfcapp/nfctestshim.h +++ b/TEST_APPS/device/nfcapp/nfctestshim.h @@ -74,6 +74,7 @@ protected: virtual mbed::nfc::nfc_rf_protocols_bitmask_t get_rf_protocols() { mbed::nfc::nfc_rf_protocols_bitmask_t none; + memset((void*)&none, 0, sizeof(none)); return none; }; virtual nfc_err_t start_discovery() @@ -100,6 +101,8 @@ protected: uint8_t _ndef_buffer[MBED_CONF_APP_TEST_NDEF_MSG_MAX]; // driver I/O buffer bool _discovery_restart; // default true, restart discovery loop again on remote disconnect events::EventQueue &_queue; +private: + static int last_nfc_error; }; // forward declare single instance diff --git a/TEST_APPS/testcases/nfc/test_nfc.py b/TEST_APPS/testcases/nfc/test_nfc.py index 5e8f33c14a..cdad33f9e9 100644 --- a/TEST_APPS/testcases/nfc/test_nfc.py +++ b/TEST_APPS/testcases/nfc/test_nfc.py @@ -102,27 +102,6 @@ def test_nfce2e_target_found(self): asserts.assertNotNone(tag, "Could not connect to any tag") -@test_case(CreamSconeTests) -def test_nfce2e_type4_found(self): - """ - check - Type 4 tag is detected wirelessly - NOTE: If the tage emulation does not default to type4, this test needs to be modified - +++ self.nfc_command("dev1", "setprotocols t4t") - or the assertion be adapated according to support desired level - """ - - response = self.nfc_command("dev1", "iseeprom") - eeprom = response.parsed['iseeprom'] - self.nfc_command("dev1", "initnfc") - if not eeprom: - self.nfc_command("dev1", "start") - - tag = self.clf.nfc.connect() - asserts.assertNotNone(tag, "Could not connect to any tag") - - asserts.assertEqual(tag.type, 'Type4Tag', "Tag of type Type4Tag not found") - - @test_case(CreamSconeTests) def test_nfce2e_smartposter(self): """ @@ -252,6 +231,7 @@ def test_nfce2e_discovery_loop(self): # Automatic resume after disconnect can be turned off by using command "start man" , the default is "start auto" . if not eeprom: + # we are muted at this point, and the target is not in discovery mode yet. tag = self.clf.nfc.connect() asserts.assertNone(tag, "post-init: Tag discovery loop should be stopped!") self.nfc_command("dev1", "stop") diff --git a/TEST_APPS/testcases/nfc/test_self.py b/TEST_APPS/testcases/nfc/test_self.py index 1c36cd543d..d59eeb3c46 100644 --- a/TEST_APPS/testcases/nfc/test_self.py +++ b/TEST_APPS/testcases/nfc/test_self.py @@ -162,6 +162,7 @@ def test_nfc_get_controller_protocols(self): else: response = self.nfc_command("dev1", "getprotocols") self.logger.info("Protocols = %s" % response.parsed['protocols']) + self.assertNotEqual(len(response.parsed['protocols']), 0, "Expected at least 1 protocol supported") '''