ds18b20-MODBUS/john103C6T6/Core/Src/UART_TERM.c
2025-06-24 19:06:17 +03:00

129 lines
3.2 KiB
C

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "main.h"
#include "def.h"
//extern uint8_t devices_found ;
extern uint8_t roms[MAX_DEVICES][8];
extern char rx_buffer[64];
extern TEMP temp_sense[30];
extern uint8_t init;
int test_var=0;
//void handle_command(char* cmd)
//
//{
// if (strncmp(cmd, "list", 4) == 0)
// {
// printf("find %d devices:\r\n", devices_found);
// for (int i = 0; i < devices_found; i++)
// {
// printf("Device #%d: ", i);
// for (int j = 0; j < 8; j++)
// printf("%02X ", roms[i][j]);
// printf("\r\n");
// }
// }
// else if (strncmp(cmd, "temp all", 8) == 0)
// {
// for (int i = 0; i < devices_found; i++)
// {
// ds_reset();
// ds_write_byte(0x55);
// for (int j = 0; j < 8; j++)
// ds_write_byte(roms[i][j]);
// ds_write_byte(0x44);
// }
// HAL_Delay(750);
// for (int i = 0; i < devices_found; i++)
// {
// ds_reset();
// ds_write_byte(0x55);
// for (int j = 0; j < 8; j++)
// ds_write_byte(roms[i][j]);
// ds_write_byte(0xBE);
// uint8_t tl = ds_read_byte();
// uint8_t th = ds_read_byte();
// int16_t t = (th << 8) | tl;
// float temp = t / 16.0;
// printf("T[%d] = %.2f C\r\n", i, temp);
// }
// }
// else if (strncmp(cmd, "temp ", 5) == 0)
// {
// int id = atoi(&cmd[5]);
// if (id < 0 || id >= devices_found)
// {
// printf("unknown ID\r\n");
// return;
// }
// ds_reset();
// ds_write_byte(0x55);
// for (int j = 0; j < 8; j++)
// ds_write_byte(roms[id][j]);
// ds_write_byte(0x44);
// HAL_Delay(750);
// ds_reset();
// ds_write_byte(0x55);
// for (int j = 0; j < 8; j++)
// ds_write_byte(roms[id][j]);
// ds_write_byte(0xBE);
// uint8_t tl = ds_read_byte();
// uint8_t th = ds_read_byte();
// int16_t t = (th << 8) | tl;
// float temp = t / 16.0;
// printf("T[%d] = %.2f C\r\n", id, temp);
// }
// else if (strncmp(cmd, "ts_1_open_minus",15 ) == 0)
// {
// temp_sense[0].t_open-=1;
//
// }
// else if (strncmp(cmd, "ts_1_open_plus",14 ) == 0)
// {
// temp_sense[0].t_open+=1;
//
// }
// else if (strncmp(cmd, "ts_1_close_minus",16 ) == 0)
// {
// temp_sense[0].t_close-=1;
//
// }
// else if (strncmp(cmd, "ts_1_close_plus",15 ) == 0)
// {
//
// temp_sense[0].t_close+=1;
// }
// else if (strncmp(cmd, "init",4 ) == 0)
// {
// init=1;
// printf("init %s\r\n", "OK");
// }
// else if
// (strncmp(cmd, "set_temp ", 9) == 0)
// {
// uint8_t sense_num = (atoi(&cmd[9])&0x7c0)>>10;
// int parse_uart=atoi(&cmd[10]);
//
// temp_sense[sense_num].t_set=(float)parse_uart/10.;
// printf("temp_sense %i %s\r\n",sense_num, "OK");
//
//
// }
// else if (strncmp(cmd, "temp ", 5) == 0)
// {
//
//
// }
// else
// {
// printf("unknown CMD: %s\r\n", cmd);
// for (int i=0;i<63;i++)
// rx_buffer[i]=0;
//
// }
//}