1212 *
1313 */
1414
15-
1615/*
1716 * -----------------------------------------------------------------------------------------------------------------------------------------------
1817 DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
@@ -58,40 +57,54 @@ uint16_t mqtt_index = 0;
5857 * @param NONE
5958 * @return NONE
6059 */
61- void Sim800_RxCallBack (void ) {
60+ void Sim800_RxCallBack (void )
61+ {
6262 rx_buffer [rx_index ++ ] = rx_data ;
6363
64- if (SIM800 .mqttServer .connect == 0 ) {
65- if (strstr ((char * ) rx_buffer , "\r\n" ) != NULL && rx_index == 2 ) {
64+ if (SIM800 .mqttServer .connect == 0 )
65+ {
66+ if (strstr ((char * )rx_buffer , "\r\n" ) != NULL && rx_index == 2 )
67+ {
6668 rx_index = 0 ;
67- } else if (strstr ((char * ) rx_buffer , "\r\n" ) != NULL ) {
69+ }
70+ else if (strstr ((char * )rx_buffer , "\r\n" ) != NULL )
71+ {
6872 memcpy (mqtt_buffer , rx_buffer , sizeof (rx_buffer ));
6973 clearRxBuffer ();
70- if (strstr (mqtt_buffer , "DY CONNECT\r\n" )) {
74+ if (strstr (mqtt_buffer , "DY CONNECT\r\n" ))
75+ {
7176 SIM800 .mqttServer .connect = 0 ;
72- } else if (strstr (mqtt_buffer , "CONNECT\r\n" )) {
77+ }
78+ else if (strstr (mqtt_buffer , "CONNECT\r\n" ))
79+ {
7380 SIM800 .mqttServer .connect = 1 ;
7481 }
7582 }
7683 }
77- if (strstr ((char * ) rx_buffer , "CLOSED\r\n" ) || strstr ((char * ) rx_buffer , "ERROR\r\n" )) {
84+ if (strstr ((char * )rx_buffer , "CLOSED\r\n" ) || strstr ((char * )rx_buffer , "ERROR\r\n" ) || strstr ((char * )rx_buffer , "DEACT\r\n" ))
85+ {
7886 SIM800 .mqttServer .connect = 0 ;
7987 }
80- if (SIM800 .mqttServer .connect == 1 && rx_data == 48 ) {
88+ if (SIM800 .mqttServer .connect == 1 && rx_data == 48 )
89+ {
8190 mqtt_receive = 1 ;
8291 }
83- if (mqtt_receive == 1 ) {
92+ if (mqtt_receive == 1 )
93+ {
8494 mqtt_buffer [mqtt_index ++ ] = rx_data ;
85- if (mqtt_index > 1 && mqtt_index - 1 > mqtt_buffer [1 ]) {
86- MQTT_Receive ((unsigned char * ) mqtt_buffer );
95+ if (mqtt_index > 1 && mqtt_index - 1 > mqtt_buffer [1 ])
96+ {
97+ MQTT_Receive ((unsigned char * )mqtt_buffer );
8798 clearRxBuffer ();
8899 clearMqttBuffer ();
89100 }
90- if (mqtt_index >= sizeof (mqtt_buffer )) {
101+ if (mqtt_index >= sizeof (mqtt_buffer ))
102+ {
91103 clearMqttBuffer ();
92104 }
93105 }
94- if (rx_index >= sizeof (mqtt_buffer )) {
106+ if (rx_index >= sizeof (mqtt_buffer ))
107+ {
95108 clearRxBuffer ();
96109 clearMqttBuffer ();
97110 }
@@ -103,7 +116,8 @@ void Sim800_RxCallBack(void) {
103116 * @param NONE
104117 * @return NONE
105118 */
106- void clearRxBuffer (void ) {
119+ void clearRxBuffer (void )
120+ {
107121 rx_index = 0 ;
108122 memset (rx_buffer , 0 , sizeof (rx_buffer ));
109123}
@@ -113,7 +127,8 @@ void clearRxBuffer(void) {
113127 * @param NONE
114128 * @return NONE
115129 */
116- void clearMqttBuffer (void ) {
130+ void clearMqttBuffer (void )
131+ {
117132 mqtt_receive = 0 ;
118133 mqtt_index = 0 ;
119134 memset (mqtt_buffer , 0 , sizeof (mqtt_buffer ));
@@ -126,17 +141,19 @@ void clearMqttBuffer(void) {
126141 * @param delay to be used to the set pause to the reply
127142 * @return error, 0 is OK
128143 */
129- int SIM800_SendCommand (char * command , char * reply , uint16_t delay ) {
130- HAL_UART_Transmit_IT (UART_SIM800 , (unsigned char * ) command ,
131- (uint16_t ) strlen (command ));
144+ int SIM800_SendCommand (char * command , char * reply , uint16_t delay )
145+ {
146+ HAL_UART_Transmit_IT (UART_SIM800 , (unsigned char * )command ,
147+ (uint16_t )strlen (command ));
132148
133149#if FREERTOS == 1
134150 osDelay (delay );
135151#else
136152 HAL_Delay (delay );
137153#endif
138154
139- if (strstr (mqtt_buffer , reply ) != NULL ) {
155+ if (strstr (mqtt_buffer , reply ) != NULL )
156+ {
140157 clearRxBuffer ();
141158 return 0 ;
142159 }
@@ -149,7 +166,8 @@ int SIM800_SendCommand(char *command, char *reply, uint16_t delay) {
149166 * @param NONE
150167 * @return error status, 0 - OK
151168 */
152- int MQTT_Init (void ) {
169+ int MQTT_Init (void )
170+ {
153171 SIM800 .mqttServer .connect = 0 ;
154172 int error = 0 ;
155173 char str [32 ] = {0 };
@@ -167,10 +185,13 @@ int MQTT_Init(void) {
167185
168186 error += SIM800_SendCommand ("AT+CIICR\r\n" , "OK\r\n" , CMD_DELAY );
169187 SIM800_SendCommand ("AT+CIFSR\r\n" , "" , CMD_DELAY );
170- if (error == 0 ) {
188+ if (error == 0 )
189+ {
171190 MQTT_Connect ();
172191 return error ;
173- } else {
192+ }
193+ else
194+ {
174195 return error ;
175196 }
176197}
@@ -180,7 +201,8 @@ int MQTT_Init(void) {
180201 * @param NONE
181202 * @return NONE
182203 */
183- void MQTT_Connect (void ) {
204+ void MQTT_Connect (void )
205+ {
184206 SIM800 .mqttReceive .newEvent = 0 ;
185207 SIM800 .mqttServer .connect = 0 ;
186208 char str [128 ] = {0 };
@@ -192,7 +214,8 @@ void MQTT_Connect(void) {
192214#else
193215 HAL_Delay (5000 );
194216#endif
195- if (SIM800 .mqttServer .connect == 1 ) {
217+ if (SIM800 .mqttServer .connect == 1 )
218+ {
196219 MQTTPacket_connectData datas = MQTTPacket_connectData_initializer ;
197220 datas .username .cstring = SIM800 .mqttClient .username ;
198221 datas .password .cstring = SIM800 .mqttClient .pass ;
@@ -215,14 +238,15 @@ void MQTT_Connect(void) {
215238 * @param payload to be used to the set message for topic
216239 * @return NONE
217240 */
218- void MQTT_Pub (char * topic , char * payload ) {
241+ void MQTT_Pub (char * topic , char * payload )
242+ {
219243 unsigned char buf [256 ] = {0 };
220244
221245 MQTTString topicString = MQTTString_initializer ;
222246 topicString .cstring = topic ;
223247
224248 int mqtt_len = MQTTSerialize_publish (buf , sizeof (buf ), 0 , 0 , 0 , 0 ,
225- topicString , (unsigned char * ) payload , (int ) strlen (payload ));
249+ topicString , (unsigned char * )payload , (int )strlen (payload ));
226250 HAL_UART_Transmit_IT (UART_SIM800 , buf , mqtt_len );
227251#if FREERTOS == 1
228252 osDelay (100 );
@@ -237,10 +261,11 @@ void MQTT_Pub(char *topic, char *payload) {
237261 * @param payload to be used to the set message for topic
238262 * @return NONE
239263 */
240- void MQTT_PubUint8 (char * topic , uint8_t payload ) {
241- char str [32 ] = { 0 };
242- sprintf (str , "%d" , payload );
243- MQTT_Pub (topic , str );
264+ void MQTT_PubUint8 (char * topic , uint8_t payload )
265+ {
266+ char str [32 ] = {0 };
267+ sprintf (str , "%u" , payload );
268+ MQTT_Pub (topic , str );
244269}
245270
246271/**
@@ -249,10 +274,11 @@ void MQTT_PubUint8(char *topic, uint8_t payload) {
249274 * @param payload to be used to the set message for topic
250275 * @return NONE
251276 */
252- void MQTT_PubUint16 (char * topic , uint16_t payload ) {
253- char str [32 ] = { 0 };
254- sprintf (str , "%d" , payload );
255- MQTT_Pub (topic , str );
277+ void MQTT_PubUint16 (char * topic , uint16_t payload )
278+ {
279+ char str [32 ] = {0 };
280+ sprintf (str , "%u" , payload );
281+ MQTT_Pub (topic , str );
256282}
257283
258284/**
@@ -261,10 +287,11 @@ void MQTT_PubUint16(char *topic, uint16_t payload) {
261287 * @param payload to be used to the set message for topic
262288 * @return NONE
263289 */
264- void MQTT_PubUint32 (char * topic , uint32_t payload ) {
265- char str [32 ] = { 0 };
266- sprintf (str , "%ld" , payload );
267- MQTT_Pub (topic , str );
290+ void MQTT_PubUint32 (char * topic , uint32_t payload )
291+ {
292+ char str [32 ] = {0 };
293+ sprintf (str , "%lu" , payload );
294+ MQTT_Pub (topic , str );
268295}
269296
270297/**
@@ -273,10 +300,11 @@ void MQTT_PubUint32(char *topic, uint32_t payload) {
273300 * @param payload to be used to the set message for topic
274301 * @return NONE
275302 */
276- void MQTT_PubFloat (char * topic , float payload ) {
277- char str [32 ] = { 0 };
278- sprintf (str , "%f" , payload );
279- MQTT_Pub (topic , str );
303+ void MQTT_PubFloat (char * topic , float payload )
304+ {
305+ char str [32 ] = {0 };
306+ sprintf (str , "%f" , payload );
307+ MQTT_Pub (topic , str );
280308}
281309
282310/**
@@ -285,18 +313,20 @@ void MQTT_PubFloat(char *topic, float payload) {
285313 * @param payload to be used to the set message for topic
286314 * @return NONE
287315 */
288- void MQTT_PubDouble (char * topic , double payload ) {
289- char str [32 ] = { 0 };
290- sprintf (str , "%f" , payload );
291- MQTT_Pub (topic , str );
316+ void MQTT_PubDouble (char * topic , double payload )
317+ {
318+ char str [32 ] = {0 };
319+ sprintf (str , "%f" , payload );
320+ MQTT_Pub (topic , str );
292321}
293322
294323/**
295324 * Send a PINGREQ to the MQTT broker (active session)
296325 * @param NONE
297326 * @return NONE
298327 */
299- void MQTT_PingReq (void ) {
328+ void MQTT_PingReq (void )
329+ {
300330 unsigned char buf [16 ] = {0 };
301331
302332 int mqtt_len = MQTTSerialize_pingreq (buf , sizeof (buf ));
@@ -308,7 +338,8 @@ void MQTT_PingReq(void) {
308338 * @param topic to be used to the set topic
309339 * @return NONE
310340 */
311- void MQTT_Sub (char * topic ) {
341+ void MQTT_Sub (char * topic )
342+ {
312343 unsigned char buf [256 ] = {0 };
313344
314345 MQTTString topicString = MQTTString_initializer ;
@@ -329,7 +360,8 @@ void MQTT_Sub(char *topic) {
329360 * @param receive mqtt bufer
330361 * @return NONE
331362 */
332- void MQTT_Receive (unsigned char * buf ) {
363+ void MQTT_Receive (unsigned char * buf )
364+ {
333365 memset (SIM800 .mqttReceive .topic , 0 , sizeof (SIM800 .mqttReceive .topic ));
334366 memset (SIM800 .mqttReceive .payload , 0 , sizeof (SIM800 .mqttReceive .payload ));
335367 MQTTString receivedTopic ;
0 commit comments