无代码:增加存储的一个特征

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
18个帖子/ 0新
最后一篇
krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
无代码:增加存储的一个特征

你好,
我正在使用无附件现有服务,与智能手机进行通信。因此,我将ATRL +“要传达的消息”发送给BLE芯片,并将此消息写入此特性,我从智能手机读取它。
这个“要沟通的信息”的上限大约为120字节左右。我想问一下,我是否可以通过增加分配给这个特性的数据库空间来增加这个特性。
你能告诉我代码在哪里我必须做出更改以实现这一目标。我可以延伸多少钱?

非常感谢!

设备:
PM_DIALOG.
离线
最后一次露面:4天19小时前
职员
加入:2018-02-08 11:03
嗨克里斯南纳格,

嗨克里斯南纳格,

请配置def_cust1_inbound_len.DEF_CUST1_OUTBOUND_LENuser_custs1_def.h报头文件的定义,以便增加为此特征分配的数据库空间,其中包含您喜欢的值。根据BLE核心规范,请注意属性值的最大长度应高达512个八位字节。

谢谢,PM_DIALOG.

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
我改变了那些

我将这两个定义都更改为500个,但是如果我发送atl +“string”,其中字符串有超过160个字符,那么就会发生一些溢出,只有少数字符被传输。
你能帮我弄清楚为什么会这样吗?
我确实遇到了cmd_buffer_size,而user_cmd_parser.h中的其他大小,但更改这些大小也没有帮助。我正在编程芯片的SRAM。

PM_DIALOG.
离线
最后一次露面:4天19小时前
职员
加入:2018-02-08 11:03
嗨克里斯南纳格,

嗨克里斯南纳格,

请你改变for(Uint8_t i = 0; i <160; i ++)(uint8_t我= 0;< 500;我+ +)在user_cmd_parser.c文件的extract_args()函数中?您是否能够立即发送超过160byte?此外,您应该定义def_cust1_inbound_len,def_cust1_outbound_len和cmd_buffer_size到500bytes。

谢谢,PM_DIALOG.

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
是的,我改变了这一切。仍然

是的,我改变了这一切。但是,当我发送超过160个字符时,它发送160个字符,然后回复ERROR,然后回复OK。
我无法理解为什么。

PM_DIALOG.
离线
最后一次露面:4天19小时前
职员
加入:2018-02-08 11:03
嗨克里斯南纳格,

嗨克里斯南纳格,

你能澄清一下是哪一个错误的申请回复?

谢谢,PM_DIALOG.

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
它只是发送错误。当我

它只是发送错误。当我发送atrl +“字符串”时,字符串近160个字符。

PM_DIALOG.
离线
最后一次露面:4天19小时前
职员
加入:2018-02-08 11:03
嗨克里斯南纳格,

嗨克里斯南纳格,

我们正在研究它,以复制您的问题,并确保您能够发送超过160字节。我会尽快让你知道的。

谢谢,PM_DIALOG.

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
非常感谢!

非常感谢!

PM_DIALOG.
离线
最后一次露面:4天19小时前
职员
加入:2018-02-08 11:03
嗨克里斯南纳格,

嗨克里斯南纳格,

我猜你是想利用ATR + PRINT = <发送>或者更简单的| <发送>同时从移动应用程序中编写该特性的价值。那是正确的吗?

谢谢,PM_DIALOG.

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
我正在发送atrl +“字符串”

我使用UART向DA14580发送ATRL +“字符串”。

mhv_dialog.
离线
最后一次露面:3个月4周前
职员
加入:15 2013-12-06
你好,

你好,

CodeLess没有支持您正在使用的格式的扩展命令。ATI(或ATrI当用作远程命令时)是一个非扩展命令(意味着它没有“+”特性)。ATI应该被用作返回一组标识物理设备的硬件和软件的字符的请求。您是否在CodeLess中实现了自己的扩展命令?

如果要在无附带的已定义命令中使用已定义的命令将数据发送到蓝牙上,则应使用

ATR + PRINT =

或者使用'|'或"pipe"字符的简化版本:

| <文本发送>

发出命令时,这些命令都要求您处于蓝牙连接状态。

/ MHv

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
哇!

哇!
我不知道。某种方式atrl +“string”工作。
我会尝试你的方式并回来。

非常感谢。

mhv_dialog.
离线
最后一次露面:3个月4周前
职员
加入:15 2013-12-06
它会“工作”,因为

它将“工作”,因为CodeLess将它留给智能手机应用程序来验证命令。所以除非你的应用检查语法,否则你不会意识到它是错误的。

/ MHv

mhv_dialog.
离线
最后一次露面:3个月4周前
职员
加入:15 2013-12-06
无附加用来使用sprintf到

无附加用来生成SprIntf生成一些限制响应长度到255个字符的响应。您可以安全地扩展无附件以处理下面提供的说明后的255个字符。您应该确保远端(在您的案例中智能手机应用程序)响应“确定”或“错误”或从微控制器的每个数据传输响应。除非您使用如上所述的“管道”命令,否则无附加无附加无附近终端的回复,然后在其准备好下次传输之前,您可能无法发送任何新数据,直到接收到回复。使用“pipe”命令删除对回复的需求。

以下是如何更改实现以支持255个字符:

在da1458x_config_basic.h中:

添加一个定义

#define cmd_buffer_size 255.

(将定义移动到此文件允许我们全局访问它)

在user_cmd_parser.h中:

Out-评论旧的定义

#define cmd_buffer_size 160.

像这样

/ / # define CMD_BUFFER_SIZE 160

在同一个文件中,更改:

#定义CMD_MAX_ARG_LENGTH 160

#定义CMD_MAX_ARG_LENGTH CMD_BUFFER_SIZE

在user_custs1_def.h.中

改变

#定义DEF_CUST1_INBOUND_LEN 160

#define def_cust1_inbound_len cmd_buffer_size.

并且,在同一个文件中,更改

#define def_cust1_outbound_len 160.

#define def_cust1_outbound_len cmd_buffer_size.

在user_cmd_parser.c文件的extract_args()函数中

改变

for(Uint8_t i = 0; i <160; i ++)

for(uint32_t i=0;i< CMD_BUFFER_SIZE;i++)

在User_uart2.h文件的UART2_REC_DATA_AVAIL_ISR()函数中

改变

if(readdata == 0x0d || bytesin> 150)

if(readData == 0x0D || bytesIn > CMD_BUFFER_SIZE) / /读取数据

在user_cmd_Interpreter的亚辅作用_env_t结构中

改变

char current_cmd [160];

char current_cmd [CMD_BUFFER_SIZE];

你可以将CMD_BUFFER_SIZE更改为512(我没有测试这个),但是所有来自CodeLess的回复将减少为'OK'或'ERROR'

/ MHv

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
非常感谢!

非常感谢!
你帮了我很大的忙。
对不起,当你说的时候,我还有一个问题:
“您应该确保远端(在您的情况下智能手机应用程序)响应”确定“或”错误“到从微控制器的每个数据传输响应。除非使用上述”管道“命令,否则无附加无附带在接下来的下一个传输之前,远程终端的回复,并且在收到回复之前,您可能无法发送任何新数据。使用“pipe”命令删除对回复的需要“
在这里ATr+PRINT=文本工作,即使没有任何回复从智能手机。
如果我要从我的智能手机回复,我该怎么做?通过写作一个特征?

mhv_dialog.
离线
最后一次露面:3个月4周前
职员
加入:15 2013-12-06
虽然ATR + PRINT =

虽然ATr+PRINT=看起来没有响应也能工作,但CodeLess很可能会混淆,因为它依赖于一个简化的消息流,以便跟踪响应应该通过蓝牙返回到本地UART还是远程对等体。使用'|'命令可以确保这不会导致问题。

从智能手机返回到设备的回复就像写入自定义服务的第一个特征一样简单(UUID = 914F8FB9-E8CD-411D-B7D1-14594DE45425)

顺便说一下:如果你在第三个特征上订阅它们(UUID = E2048B39-D4F9-4A45-9F25-1856C10D5639),智能手机将会收到一个通知。

/ MHv

krishnanag
离线
最后一次露面:2年4个月前
加入:2018-05-27 21:33
非常感谢!

非常感谢!