Skip to content

Commit ec806bd

Browse files
committed
removed t4t,removed unnecessary buffer on stack, nfcerror moved into class
1 parent 37ec35f commit ec806bd

File tree

6 files changed

+83
-35
lines changed

6 files changed

+83
-35
lines changed

.gitignore

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,52 @@ test_suite.json
9797

9898
# default delivery dir
9999
DELIVERY/
100+
cmake-build-debug/.mbedignore
101+
cmake-build-debug/cmake_install.cmake
102+
cmake-build-debug/CMakeCache.txt
103+
cmake-build-debug/CMakeFiles/3.13.2/CMakeASMCompiler.cmake
104+
cmake-build-debug/CMakeFiles/3.13.2/CMakeCCompiler.cmake
105+
cmake-build-debug/CMakeFiles/3.13.2/CMakeCXXCompiler.cmake
106+
cmake-build-debug/CMakeFiles/3.13.2/CMakeSystem.cmake
107+
cmake-build-debug/CMakeFiles/3.13.2/CompilerIdC/CMakeCCompilerId.c
108+
cmake-build-debug/CMakeFiles/3.13.2/CompilerIdC/CMakeCCompilerId.o
109+
cmake-build-debug/CMakeFiles/3.13.2/CompilerIdCXX/CMakeCXXCompilerId.cpp
110+
cmake-build-debug/CMakeFiles/3.13.2/CompilerIdCXX/CMakeCXXCompilerId.o
111+
cmake-build-debug/CMakeFiles/clion-environment.txt
112+
cmake-build-debug/CMakeFiles/clion-log.txt
113+
cmake-build-debug/CMakeFiles/cmake.check_cache
114+
cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake
115+
cmake-build-debug/CMakeFiles/CMakeError.log
116+
cmake-build-debug/CMakeFiles/CMakeOutput.log
117+
cmake-build-debug/CMakeFiles/CMakeRuleHashes.txt
118+
cmake-build-debug/CMakeFiles/feature_tests.c
119+
cmake-build-debug/CMakeFiles/feature_tests.cxx
120+
cmake-build-debug/CMakeFiles/Makefile.cmake
121+
cmake-build-debug/CMakeFiles/Makefile2
122+
cmake-build-debug/CMakeFiles/mbed-cli-build.dir/build.make
123+
cmake-build-debug/CMakeFiles/mbed-cli-build.dir/cmake_clean.cmake
124+
cmake-build-debug/CMakeFiles/mbed-cli-build.dir/DependInfo.cmake
125+
cmake-build-debug/CMakeFiles/mbed-cli-build.dir/progress.make
126+
cmake-build-debug/CMakeFiles/mbed-os.dir/build.make
127+
cmake-build-debug/CMakeFiles/mbed-os.dir/cmake_clean.cmake
128+
cmake-build-debug/CMakeFiles/mbed-os.dir/depend.make
129+
cmake-build-debug/CMakeFiles/mbed-os.dir/DependInfo.cmake
130+
cmake-build-debug/CMakeFiles/mbed-os.dir/flags.make
131+
cmake-build-debug/CMakeFiles/mbed-os.dir/link.txt
132+
cmake-build-debug/CMakeFiles/mbed-os.dir/objects1.rsp
133+
cmake-build-debug/CMakeFiles/mbed-os.dir/progress.make
134+
cmake-build-debug/CMakeFiles/progress.marks
135+
cmake-build-debug/CMakeFiles/TargetDirectories.txt
136+
cmake-build-debug/compiler-file3040531024441447850.d
137+
cmake-build-debug/compiler-file4529788487702700900.d
138+
cmake-build-debug/compiler-file4727057748131971377.d
139+
cmake-build-debug/compiler-file8813331766360922248.d
140+
cmake-build-debug/main.d
141+
cmake-build-debug/Makefile
142+
cmake-build-debug/mbed-os.cbp
143+
cmake-build-debug/nfccommands.d
144+
cmake-build-debug/NFCController.d
145+
cmake-build-debug/nfcprocess.d
146+
cmake-build-debug/nfcprocessCtrl.d
147+
cmake-build-debug/nfctestshim.d
148+
cmake-build-debug/uart.d

TEST_APPS/device/nfcapp/nfcprocessCtrl.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ using mbed::nfc::ndef::common::Text;
4747
using mbed::nfc::ndef::common::URI;
4848
using mbed::nfc::NFCController;
4949

50-
//class NFCProcessController : NFCRemoteInitiator::Delegate, NFCController::Delegate {
50+
/**
51+
* Implements NFCRemoteInitiator::Delegate, NFCController::Delegate
52+
*/
5153

5254
NFCProcessController::NFCProcessController(events::EventQueue &queue) :
5355
NFCTestShim(queue),

TEST_APPS/device/nfcapp/nfctestshim.cpp

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,11 @@ char const *uri_prefix_string[] = { "",
8181
"urn:nfc:"
8282
};
8383

84-
int last_nfc_error = 0;
84+
8585
}
8686

87+
88+
int NFCTestShim::last_nfc_error = 0;
8789
NFCTestShim *pNFC_Test_Shim = NULL;
8890

8991
NFCTestShim::NFCTestShim(events::EventQueue &queue) :
@@ -114,17 +116,17 @@ void NFCTestShim::cmd_get_conf_nfceeprom()
114116
*/
115117
void NFCTestShim::get_last_nfc_error()
116118
{
117-
int last = ::last_nfc_error;
118-
::last_nfc_error = 0;
119+
int last = last_nfc_error;
120+
last_nfc_error = 0;
119121
// return data as text to the plugin framework
120122
cmd_printf("{{lastnfcerror=%d}}\r\n", last);
121123
cmd_ready(CMDLINE_RETCODE_SUCCESS);
122124
}
123125

124126
void NFCTestShim::set_last_nfc_error(int err)
125127
{
126-
::last_nfc_error = err;
127-
cmd_printf("\r\n{{lastnfcerror=%d}}\r\n", ::last_nfc_error);
128+
last_nfc_error = err;
129+
cmd_printf("\r\n{{lastnfcerror=%d}}\r\n", last_nfc_error);
128130
}
129131

130132
// if an NFC EEPROM driver is configured
@@ -311,19 +313,30 @@ void NFCTestShim::cmd_set_smartposter(char *cmdUri)
311313
{
312314
MessageBuilder builder(_ndef_poster_message);
313315

314-
uint8_t smart_poster_buffer[1024];
315-
MessageBuilder smart_poster_builder(smart_poster_buffer);
316+
struct SPBuilder: MessageBuilder::PayloadBuilder {
317+
SPBuilder(char * cmd_uri) {
318+
URI::uri_identifier_code_t uri_id = get_ndef_record_type(cmd_uri);
319+
char *urlbegin = cmd_uri
320+
+ strlen(get_ndef_record_type_prefix(uri_id));
321+
uri = URI(uri_id, span_from_cstr(urlbegin));
322+
cmd_printf("{{uri_id=%d}}\r\n", (int) uri_id);
323+
}
324+
325+
virtual size_t size() const {
326+
return uri.get_record_size();
327+
}
316328

317-
URI::uri_identifier_code_t uri_id = get_ndef_record_type(cmdUri);
318-
char *urlbegin = cmdUri + strlen(get_ndef_record_type_prefix(uri_id));
319-
URI uri(uri_id, span_from_cstr(urlbegin));
320-
cmd_printf("{{uri_id=%d}}\r\n", (int)uri_id);
329+
virtual void build(const Span<uint8_t> &buffer) const {
330+
MessageBuilder smart_poster_builder(buffer);
321331

322-
uri.append_as_record(smart_poster_builder, true);
332+
uri.append_as_record(smart_poster_builder, true);
333+
}
334+
URI uri;
335+
};
323336

324337
builder.append_record(
325338
RecordType(RecordType::well_known_type, span_from_cstr("Sp")),
326-
smart_poster_builder.get_message(), true);
339+
SPBuilder(cmdUri), true);
327340

328341
_ndef_write_buffer_used = builder.get_message().size();
329342
trace_printf("Composed NDEF message %d bytes\r\n", _ndef_write_buffer_used);

TEST_APPS/device/nfcapp/nfctestshim.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ class NFCTestShim {
7474
virtual mbed::nfc::nfc_rf_protocols_bitmask_t get_rf_protocols()
7575
{
7676
mbed::nfc::nfc_rf_protocols_bitmask_t none;
77+
memset((void*)&none, 0, sizeof(none));
7778
return none;
7879
};
7980
virtual nfc_err_t start_discovery()
@@ -100,6 +101,8 @@ class NFCTestShim {
100101
uint8_t _ndef_buffer[MBED_CONF_APP_TEST_NDEF_MSG_MAX]; // driver I/O buffer
101102
bool _discovery_restart; // default true, restart discovery loop again on remote disconnect
102103
events::EventQueue &_queue;
104+
private:
105+
static int last_nfc_error;
103106
};
104107

105108
// forward declare single instance

TEST_APPS/testcases/nfc/test_nfc.py

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -102,27 +102,6 @@ def test_nfce2e_target_found(self):
102102
asserts.assertNotNone(tag, "Could not connect to any tag")
103103

104104

105-
@test_case(CreamSconeTests)
106-
def test_nfce2e_type4_found(self):
107-
"""
108-
check - Type 4 tag is detected wirelessly
109-
NOTE: If the tage emulation does not default to type4, this test needs to be modified
110-
+++ self.nfc_command("dev1", "setprotocols t4t")
111-
or the assertion be adapated according to support desired level
112-
"""
113-
114-
response = self.nfc_command("dev1", "iseeprom")
115-
eeprom = response.parsed['iseeprom']
116-
self.nfc_command("dev1", "initnfc")
117-
if not eeprom:
118-
self.nfc_command("dev1", "start")
119-
120-
tag = self.clf.nfc.connect()
121-
asserts.assertNotNone(tag, "Could not connect to any tag")
122-
123-
asserts.assertEqual(tag.type, 'Type4Tag', "Tag of type Type4Tag not found")
124-
125-
126105
@test_case(CreamSconeTests)
127106
def test_nfce2e_smartposter(self):
128107
"""
@@ -252,6 +231,7 @@ def test_nfce2e_discovery_loop(self):
252231
# Automatic resume after disconnect can be turned off by using command "start man" , the default is "start auto" .
253232

254233
if not eeprom:
234+
# we are muted at this point, and the target is not in discovery mode yet.
255235
tag = self.clf.nfc.connect()
256236
asserts.assertNone(tag, "post-init: Tag discovery loop should be stopped!")
257237
self.nfc_command("dev1", "stop")

TEST_APPS/testcases/nfc/test_self.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ def test_nfc_get_controller_protocols(self):
162162
else:
163163
response = self.nfc_command("dev1", "getprotocols")
164164
self.logger.info("Protocols = %s" % response.parsed['protocols'])
165+
self.assertNotEqual(len(response.parsed['protocols']), 0, "Expected at least 1 protocol supported")
165166

166167

167168
'''

0 commit comments

Comments
 (0)