removed t4t,removed unnecessary buffer on stack, nfcerror moved into class

pull/9184/head
Conrad Braam 2019-02-05 17:09:37 +00:00
parent 37ec35f671
commit ec806bdb3e
6 changed files with 83 additions and 35 deletions

49
.gitignore vendored
View File

@ -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

View File

@ -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),

View File

@ -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<uint8_t> &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);

View File

@ -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

View File

@ -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")

View File

@ -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")
'''