GetMeasurements NHS3100

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

GetMeasurements NHS3100

ソリューションへジャンプ
2,316件の閲覧回数
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,276件の閲覧回数
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,271件の閲覧回数
MarcoT
Contributor I

Thanks for your answer Patrick!

0 件の賞賛
返信
2,277件の閲覧回数
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