Заполнение char [] строкой матрицы и l oop по всем строкам - PullRequest
1 голос
/ 28 апреля 2020

Я хочу напечатать свой массив Mag. С текущим API я могу печатать только по строке, используя ESP_LOGI. Поэтому я должен заполнить строку строки (char []) и отобразить в l oop:

//char s[2 * (w - 2 * window - 1)];
char[200];
char s_tmp[4]; //one element of array string
for(int i=window; i<=w-window;++i){
    memset(s, 0, sizeof(s));
    memset(s_tmp, 0, sizeof(s_tmp)); // Fill with \0 for ESP_LOGI
    for(int j=window; j<h-window;++j){
        sprintf(s_tmp, "%u", Mag[i + j * w]);
        strcat(s, s_tmp);
        strcat(s, ".");
    }
    ESP_LOGI(TAG,"%s", s);
}

}

Выход : Последовательный выход читается с VScode platformIO

Размер = (h = 28, w = 28) window = 3

I (13793) camera_httpd: 0.0.0.2.1.1.1.0.0.1.0.2.1.0.0.0.1.0.2.0.0.1.          m
I (13793) camera_httpd: 0.0.1.0.4.1.1.1.0.1.2.0.2.1.0.0.0.1.0.1.2.0.
I (13793) camera_httpd: 0.0.0.1.1.0.1.1.0.0.1.0.0.0.1.0.0.2.1.1.0.0.        [0m
I (13803) camera_htt       pd: 0.0.0.0.0.0.0.1.1.1.0.1.0.0.0.1.0.0.2.2.1.1.
I (13813) camera_httpd: 0.0.0.1.0.0.0.1.1.1.0.0.1.0.0.0.0.0.0.2.1.1.
I (13823) camera_httpd: 0.0.0.0.1.0.0.0.0.0.1.1.1.       1.0.0.0.0.1.0.2.2.
I (13823) camera_httpd: 0.0.0.0.2.1.0.0.0.0.0.0.1.0.0.0.1.0.0.1.0.2.
I (13833) camera_httpd: 1.0.0.0.1.0.1.0.0.0.0.0.       0.1.0.0.0.0.0.0.1.0.
I (13843) camera_httpd: 0.1.0.0.0.1.0.0.0.0.0.1.0.0.0.0.1.0.0.0.0.0.

Я хотел бы знать, почему он отображается пространство. Я предполагаю, что они пришли из моего memset (0). Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 29 апреля 2020

Это относится к расширению platformIO VScode терминала , которое плохо обрабатывает специальные управляющие символы оболочки для изменения цвета линии.

Последовательный вывод считывается с PuTTY :

I (42273) camera_httpd: 0.0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.
I (42273) camera_httpd: 0.0.0.0.0.1.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.1.
I (42283) camera_httpd: 0.0.0.0.1.0.1.1.0.1.0.0.1.0.0.0.0.0.0.0.0.1.
I (42293) camera_httpd: 0.0.0.0.4.1.1.1.1.1.1.0.1.0.0.0.0.0.0.1.0.0.
I (42293) camera_httpd: 0.0.0.1.0.1.1.1.1.1.1.1.1.0.0.0.0.0.0.0.0.1.
I (42303) camera_httpd: 0.0.0.0.1.1.1.1.1.1.1.1.1.1.0.1.0.0.1.0.0.1.
I (42313) camera_httpd: 0.0.0.0.3.1.1.1.1.1.1.0.1.1.0.0.0.0.1.0.1.0.
I (42323) camera_httpd: 0.0.0.1.0.1.1.1.1.1.1.1.1.0.1.0.0.0.0.0.1.0.
I (42323) camera_httpd: 0.0.0.0.1.0.1.1.1.1.1.1.1.0.0.1.0.0.0.1.0.1.
I (42333) camera_httpd: 0.5.1.1.3.1.0.1.1.1.1.1.1.1.1.0.0.0.0.0.0.0.
I (42343) camera_httpd: 0.0.0.1.1.0.1.0.0.1.1.0.1.0.0.0.0.0.0.0.0.0.
...