GetMeasurements NHS3100

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

GetMeasurements NHS3100

跳至解决方案
2,295 次查看
MarcoT
Contributor I

Hi,

Currently I'm trying to get the logged measurements from an iOS native app via NFC.

I can read some measurements by sending the command [0x46,0x00,0x00,0x00] where the last 0x00 are the offset bytes.

For example when there are 1423 measurements and i want to have the latest 200 i sent:

[0x46,0x00,0xC7,0x04]

04:C7 = 1223 so to get the 200 measurements i have to put the offset to 1223

But as far as I understand you can't control how many samples you want to read other then changing the offset value, or do I miss something?

The problem is that if you want to read 1423 measurements i don't get a result back, only the response:

46:01:00:00:00:00:00:00:00:00:00:00:

Think the amount of measurements is to big to sent it in 1 message, so how can I do paging, let's say I want measurement 0 to 100, 100 to 200 etc?

Many thanks if you want to give me some direction, what I'm doing wrong, or that i miss something.

标签 (1)
标记 (2)
0 项奖励
回复
1 解答
2,255 次查看
patrickgeens
NXP Apps Support
NXP Apps Support

Hi MarcoT,


The maximum amount of samples returned in one GetMeasurements (0x46) transaction is defined in the NHS firmware. The actual amount of samples returned is contained in the GetMeasurements response structure.

As an example, for a recent Tlogger app the maximum is 232 samples (x16bit). When the end of the log is hit, less samples are returned. (Never hardcode this number!)

Reading the full log can be done in the following way:

(1) set OFFSET = 0

(2) execute GetMeasurements with offset "OFFSET" -> it returns the offset, the number of samples returned = N, and the N samples.

(3) while N>0:  OFFSET = OFFSET + N; goto (2)


Example output:

OFFSET, N

0 232

232 232

464 232

....

24360 232

24592 151

24743 0 -> done

 


Kind regards,

Patrick

 

在原帖中查看解决方案

2 回复数
2,250 次查看
MarcoT
Contributor I

Thanks for your answer Patrick!

0 项奖励
回复
2,256 次查看
patrickgeens
NXP Apps Support
NXP Apps Support

Hi MarcoT,


The maximum amount of samples returned in one GetMeasurements (0x46) transaction is defined in the NHS firmware. The actual amount of samples returned is contained in the GetMeasurements response structure.

As an example, for a recent Tlogger app the maximum is 232 samples (x16bit). When the end of the log is hit, less samples are returned. (Never hardcode this number!)

Reading the full log can be done in the following way:

(1) set OFFSET = 0

(2) execute GetMeasurements with offset "OFFSET" -> it returns the offset, the number of samples returned = N, and the N samples.

(3) while N>0:  OFFSET = OFFSET + N; goto (2)


Example output:

OFFSET, N

0 232

232 232

464 232

....

24360 232

24592 151

24743 0 -> done

 


Kind regards,

Patrick