为ADC制作自定义配置文件

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support..我们将在未来几天修复错误/优化搜索和标记。
18个帖子/ 0新
最后一篇
Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
为ADC制作自定义配置文件

你好呀,

我想捕获ECG信号,然后我想将它们转换为在BPM中的心率,并且我希望通过BLE发送信号到智能手机。智能手机将使用BLE扫描仪获得阅读。我在SDK文件夹中修改了BLE_APP_PERIANTAL示例,以便我能够捕获数据(请参阅附件)。我已经意识到,问题最可能是由于ADC功能。我是否放在错误的位置,我应该放在哪里?

adc_init (GP_ADC_SE GP_ADC_SIGN GP_ADC_ATTN3X)……
....

非常感谢你。

附件:
设备:
Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
你好呀,

你好呀,

除此之外,我不知道如何将ADC输出链接到自定义配置文件,基本上,ADC的输出在ECG信号中,我需要将它们转换为心率。我需要使用hrpc.c,hrpc_task.c吗?谢谢

mt_dialog.
离线
最后一次露面:5个月1个星期前
职员
加入:2015-06-08 34
嗨Herochua617,

嗨Herochua617,

如果没有BLE实现,你能从ECG和ADC中得到任何值吗?如果是,则可以进入下一步,通过BLE发送值。心率配置文件存在,以发送hrp值使用SIG标准心率配置文件,除了没有什么其他的,该配置文件将为您做的,可以仍然可以发送值从传感器使用您的自定义配置文件。关于你将不得不放置读取ADC函数的位置,你可以在向堆栈发送通知之前做这件事。关于如何发送值,app_adcval1_timer_cb_handler()中的示例变量是每次计时器结束时发送到中央的虚拟值,因此可以用从ADC中读取的值替换该数据。

谢谢mt_dialog.

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
嗨MT_dialog,

嗨MT_dialog,

我想问一下。如果我想从SPI运行此配置文件,我是否需要在BLE_PERITALL_APP中配置任何内容?由于我可以使用智能片段直接烧毁SPI内的编码,并且当我在硬币电池电量供应时运行开发套件时,它将自动运行?我对吗?谢谢

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
你好呀,

你好呀,

我从自定义档案中获得的不是心率。实际上是ECG信号值,它是从ADC输出获得的值。我知道我需要修复ECG信号的QRS复合物的间隔,以获得心率值。但是你有什么例子是如何配置的?谢谢

Chey856.
离线
最后一次露面:4年3个月前
加入:2017-01-06 11:30
1.可行的ADC值通知

1.可行的ADC值通知
ADC_VAL_1_UUID_128(UUID 0x17,0xB9,0x67,0x98,0x4c,0x66,0x4c,0x01,0x96,0x33,0x31,0xb1,0x91,0x59,0x00,0x15)
2.写入0x01到CTRL_POINT
ctrl_point_uuid_128(0x20,0xee,0x8d,0x0c,0xe1,0xf0,0x4a,0x0c,0xb3,0x25,0xdc,0x53,0x6a,0x68,0x86,0x2d)
ADC Func位置你放了不对。

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
嗨Chey856,

嗨Chey856,

非常感谢你!。我能够看到价值变化。请问?控制点的功能是什么?为什么我需要打开以获得价值?谢谢

mt_dialog.
离线
最后一次露面:5个月1个星期前
职员
加入:2015-06-08 34
嗨Herochua617,

嗨Herochua617,

Chey856请求的控制点特性是一种特征,当写入时,它在FW中启用内核定时器。当内核定时器经过时,它会触发向堆栈发送通知并最终在手机上重置计时器。因此,只要您写入该特征,就触发函数user_custs1_ctrl_wr_ind_handler()并启动计时器,当计时器经过App_Adcval1_Timer_CB_Handler()被触发时。

Thaks MT_dialog

Chey856.
离线
最后一次露面:4年3个月前
加入:2017-01-06 11:30
这是正确的!谢谢你!

这是正确的!非常感谢你
顺便说一下,你可以告诉DA14580的ADC采样率

mt_dialog.
离线
最后一次露面:5个月1个星期前
职员
加入:2015-06-08 34
嗨Chey856,

嗨Chey856,

数据表中提到“the Maximum sampling rate is 3.3 Msample/s”。

谢谢mt_dialog.

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
你好呀,

你好呀,

如果我想采取数据并将它们转换为心率,以便如何将ADC值1转换为心率。我能用现有代码进行吗?谢谢

Chey856.
离线
最后一次露面:4年3个月前
加入:2017-01-06 11:30
心率=(ADC_GET_SAMPLE

心率=(ADC_GET_SAMPLE()* 1.2VOLT * ADC_ATTN3X)/ 1023
如果你没有在adc_init()中设置ADC_ATTN3X,则设置ADC_ATTN3X= 1否则设置ADC_ATTN3X=3
1.2VOLT是参考电压
所以它的分辨率:2^10 - 1 =1023
你应该看看“projects\target_apps\peripheral_examples\adc\ batt_lvl”示例

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
静态uint16_t heart_rate,

静态uint16_t heart_rate,样本,sample2;

adc_init (GP_ADC_SE, 0, GP_ADC_ATTN3X);
adc_enable_channel(adc_channel_p01);
Sample = adc_get_sample ();

adc_init(gp_adc_se,gp_adc_sign,gp_adc_attn3x);
adc_enable_channel(adc_channel_p01);
Sample2 = adc_get_sample ();

Heart_rate = (sample + sample2);
heart_rate = heart_rate / 2;
heart_rate =(heart_rate * 3.6)/ 1023;

申请- > conhdl = app_env - > conhdl;
req-> handle = cust1_idx_adc_val_1_val;
申请- >长度= DEF_CUST1_ADC_VAL_1_CHAR_LEN;
memcpy(请求- >值、&heart_rate DEF_CUST1_ADC_VAL_1_CHAR_LEN);

ke_msg_send(要求的);

if (ke_state_get(TASK_APP) == APP_CONNECTED)
{
//再次设置它,直到控制特性接收到停止命令
timer_used = app_easy_timer(100,app_adcval1_timer_cb_handler);
}
}

这是我的代码。我从BLE Scanner应用程序的ADC VAL 1特性得到0x01。有什么建议吗?

谢谢

Chey856.
离线
最后一次露面:4年3个月前
加入:2017-01-06 11:30
对不起,似乎是

对不起,迟到,似乎你的代码还可以,你能告诉我有关你项目的更多细节吗?
我的邮箱:cheyu856@gmail.com

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
我已经回复你了

我已经回复了你的邮件。谢谢

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
嗨,伙计们,

嗨,伙计们,

我可以使用HRPS配置文件与我的心率设备工作吗?这是否会更容易,因为在HRPS中会有算法将我的数据转换为可读的心率,而不是十六进制值?

mt_dialog.
离线
最后一次露面:5个月1个星期前
职员
加入:2015-06-08 34
嗨Herochua617,

嗨Herochua617,

合是一个团体的标准,它只是格式的数据传感器在一个特定的方式为了阅读其他客户端设备,它没有算法实现或任何额外的,只是一个标准的方式来表达心率值为了其他设备能够解释他们。

谢谢mt_dialog.

Herochua617.
离线
最后一次露面:4年1个月前
加入:2017-01-18 12:46
嗨MT_dialog,

嗨MT_dialog,

谢谢。然后这个解决了我的问题https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。.谢谢。然而,我正在尝试自己的方法来检测间隔。我想通过这个得到两个峰之间的时间https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。.非常感谢!