Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Преобразовывает число в строку длиной до 45 символов
  3.  * @param var
  4.  * @return
  5.  */
  6. static void int_to_str(uint32_t var, char *str)
  7. {
  8.     char temp_str[45] = {'\"', 0};
  9.  
  10.     itoa(var, &temp_str[1], 10);
  11.     strcat(str, &temp_str[0]);
  12.     strcat(str, "\", ");
  13. }
  14.  
  15.  
  16.  
  17. /*---------------------------------------------------------------------------*/
  18. static unsigned short
  19. generate_part_of_file_js(void *state)
  20. {
  21.   struct httpd_state *s = (struct httpd_state *)state;
  22.   extern t_user_settings u_settings;
  23.  
  24.   char data[1000] = { };
  25.  
  26.   //  "watersort1",
  27.   //  "watersort2", "watersort3", "cleansort1", "cleansort2", "cleansort3",
  28.   //  "timesort1", "timesort2", "timesort3", "water2sort1", "water2sort2",
  29.   //  "water2sort3", "mininterval", "maxinterval", "water-mix", "concentrate",
  30.   //  "flowcoef1", "flowcoef2", "flowcoef3", "flowcoef4", "scheme",
  31.   //  "flow-speed-min", "resist1", "resist2", "date", "time", "server-name", "wifi", "point-name", "point-pass",
  32.   //  "static_ip", "ip-part1", "ip-part2", "ip-part3", "ip-part4",
  33.   //  "mask-part1", "mask-part2", "mask-part3", "mask-part4", "dns-part1",
  34.   //  "dns-part2", "dns-part3", "dns-part4", "gateway-part1", "gateway-part2",
  35.   //  "gateway-part3", "gateway-part4",
  36.   //  "version-pp", "version-po", "device-id"
  37.  
  38.  
  39.   strcpy(&data[0], "var data = [ ");
  40.  
  41.   int_to_str(u_settings.start_vol[0], data);
  42.   int_to_str(u_settings.start_vol[1], data);
  43.   int_to_str(u_settings.start_vol[2], data);
  44.  
  45.   int_to_str(u_settings.cleanser_vol[0], data);
  46.   int_to_str(u_settings.cleanser_vol[1], data);
  47.   int_to_str(u_settings.cleanser_vol[2], data);
  48.  
  49.   int_to_str(u_settings.cleanser_delay[0], data);
  50.   int_to_str(u_settings.cleanser_delay[1], data);
  51.   int_to_str(u_settings.cleanser_delay[2], data);
  52.  
  53.   int_to_str(u_settings.end_vol[0], data);
  54.   int_to_str(u_settings.end_vol[1], data);
  55.   int_to_str(u_settings.end_vol[2], data);
  56.  
  57.   int_to_str(u_settings.min_interval_between_sanit, data);
  58.   int_to_str(u_settings.max_interval_between_sanit, data);
  59.  
  60.   int_to_str(u_settings.water_mix_vol, data);
  61.   int_to_str(u_settings.concentrate_vol, data);
  62.  
  63.   int_to_str(u_settings.flow_factor[0], data);
  64.   int_to_str(u_settings.flow_factor[1], data);
  65.   int_to_str(u_settings.flow_factor[2], data);
  66.   int_to_str(u_settings.flow_factor[3], data);
  67.  
  68.   int_to_str(u_settings.hw_config, data);
  69.  
  70.   int_to_str(u_settings.flow_speed_min, data);
  71.  
  72.   int_to_str(u_settings.sensor_threshold[0], data);
  73.   int_to_str(u_settings.sensor_threshold[1], data);
  74.  
  75.   strcat(data, "\"16:03\", ");      // время
  76.   strcat(data, "\"21/09/16\", ");   // дата         // todo: добавить дату/время
  77.  
  78.   strcat(data, "\"");
  79.   strcat(data, &u_settings.server_address[0]);
  80.   strcat(data, "\", ");
  81.  
  82.   if (u_settings.wlan_en)       { strcat(data, "\"true\", "); }
  83.   else                          { strcat(data, "\"flase\", "); }
  84.  
  85.   strcat(data, "\"");
  86.   strcat(data, &u_settings.net_name[0]);
  87.   strcat(data, "\", ");
  88.  
  89.   strcat(data, "\"");
  90.   strcat(data, &u_settings.net_password[0]);
  91.   strcat(data, "\", ");
  92.  
  93.   if (u_settings.static_ip_en)  { strcat(data, "\"true\", "); }
  94.   else                          { strcat(data, "\"flase\", "); }
  95.  
  96.  
  97.   int_to_str(u_settings.static_ip[0], data);
  98.   int_to_str(u_settings.static_ip[1], data);
  99.   int_to_str(u_settings.static_ip[2], data);
  100.   int_to_str(u_settings.static_ip[3], data);
  101.  
  102.   int_to_str(u_settings.static_mask[0], data);
  103.   int_to_str(u_settings.static_mask[1], data);
  104.   int_to_str(u_settings.static_mask[2], data);
  105.   int_to_str(u_settings.static_mask[3], data);
  106.  
  107.   int_to_str(u_settings.DNS[0], data);
  108.   int_to_str(u_settings.DNS[1], data);
  109.   int_to_str(u_settings.DNS[2], data);
  110.   int_to_str(u_settings.DNS[3], data);
  111.  
  112.   int_to_str(u_settings.static_gate[0], data);
  113.   int_to_str(u_settings.static_gate[1], data);
  114.   int_to_str(u_settings.static_gate[2], data);
  115.   int_to_str(u_settings.static_gate[3], data);
  116.  
  117.   int_to_str(MAIN_HW_VERSIOM, data);
  118.   int_to_str(MAIN_FW_VERSION, data);
  119.  
  120.   strcat(data, "\"af-02-11-ea-23-90\", ");      // todo: device id
  121.   strcat(data, " ]");
  122.  
  123.   // todo: контролировать переполнение буфера
  124.  
  125.   s->len = strlen(data);
  126.   strcpy(uip_appdata, data);
  127.  
  128.   return s->len;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement