Slava
Просто изначально ситуация напрягла... 70 штук! Ну, блин, за что? За МК с обвчзкой?
Что за хрень ты покупаешь за 70? Фото в студию пожалуйста!
v1ct0r
На опыты можно взять девкит, поиграться и принимать решение
Есть, разные. . Играюсь. 8 КБ буфера на 8266 маловато. На вровере 250 даже на 50% не заполнены.
Serjio
а давайте проговорим про xTaskCreate еще немного. @param usStackDepth The size of the task stack specified as the number of variables the stack can hold - not the number of bytes. For example, if the stack is 16 bits wide and usStackDepth is defined as 100, 200 bytes will be allocated for stack storage. я вот тут мало чего понял. во-первых, почему us в названии? во-вторых, что значит ширина стека? типа в нем хранятся двухбайтные переменные? и следом @param pvParameters Pointer that will be used as the parameter for the task being created. для чего оно предназначено? указатель на что? на некий параметр, который можно передать в таск? то есть если у меня в таске цикл на n-ное количество итераций, можно было указатель на этот n передать при запуске таска?
Denis
на переменную в которой индивидуальные парамеры для таска
v1ct0r
Ок
Оьправил
Serjio
на переменную в которой индивидуальные парамеры для таска
структура какая-то? или какб ыть, если несколько int значений нужно передать в таск?
Denis
можна структуру
Denis
N++ при запуске таска
Serjio
хз что это такое) откуда такое богатство? терминал в esp?
Denis
реализация...
kDn
pv - pointer void :)
Serjio
реализация...
почему первый аргумент xTaskCreate здесь без & а в примере http_server - с & ?
Serjio
в документации кстати в примере тоже без &
Denis
это зависит от того как обьявленна переменная если как указатель знак & не нужен
Serjio
static - поэтому как указатель?
Serjio
да
Denis
знак & говорит компилятору передать адресс переменной
Serjio
а переменная - название функции вроде как
Ultrabug
да
Это имя функции, ей пофигу, empty_task и &empty_task это указатель на функцию
Ultrabug
С обычными переменными так не работает
Ultrabug
Там надо четенько
Serjio
ясно. тэкс, попробовал увеличить скорость прошивки со 115200 до 460800: Connecting... Running Cesanta flasher stub... A fatal error occurred: Invalid head of packet ('\x04') make: *** [flash] Error 2
Алексей
а давайте проговорим про xTaskCreate еще немного. @param usStackDepth The size of the task stack specified as the number of variables the stack can hold - not the number of bytes. For example, if the stack is 16 bits wide and usStackDepth is defined as 100, 200 bytes will be allocated for stack storage. я вот тут мало чего понял. во-первых, почему us в названии? во-вторых, что значит ширина стека? типа в нем хранятся двухбайтные переменные? и следом @param pvParameters Pointer that will be used as the parameter for the task being created. для чего оно предназначено? указатель на что? на некий параметр, который можно передать в таск? то есть если у меня в таске цикл на n-ное количество итераций, можно было указатель на этот n передать при запуске таска?
Parameters pvTaskCode: Pointer to the task entry function. Tasks must be implemented to never return (i.e. continuous loop), or should be terminated using vTaskDelete function. pcName: A descriptive name for the task. This is mainly used to facilitate debugging. Max length defined by configMAX_TASK_NAME_LEN - default is 16. usStackDepth: The size of the task stack specified as the number of bytes. Note that this differs from vanilla FreeRTOS. pvParameters: Pointer that will be used as the parameter for the task being created. uxPriority: The priority at which the task should run. Systems that include MPU support can optionally create tasks in a privileged (system) mode by setting bit portPRIVILEGE_BIT of the priority parameter. For example, to create a privileged task at priority 2 the uxPriority parameter should be set to ( 2 | portPRIVILEGE_BIT ). pvCreatedTask: Used to pass back a handle by which the created task can be referenced.
Serjio
такое ощущение, там нужно в бутлодере что-то подправить
Алексей
static BaseType_t xTaskCreate(TaskFunction_t pvTaskCode, const char *const pcName, const uint32_t usStackDepth, void *const pvParameters, UBaseType_t uxPriority, TaskHandle_t *const pxCreatedTask)
Serjio
я про указатели на функции понял, спасибо
Алексей
pvTaskCode - функция выполняемая задачей pcName - имя задачи. Зачем не совсем понятно usStackDepth - размер стека задачи в байтах pvParameters - указатель на некоторые данные, которые будут переданы в функцию задачи uxPriority - приоритет задачи pxCreatedTask - созданная задача, хендлер
Denis
есть фунция которая достаёт хендл по имени
Denis
TaskHandle_t xTaskGetHandle( const char *pcNameToQuery );
Serjio
там писали, имя - для удобства логгинга например.
Serjio
подскажите, может кто знает, как со скоростью загрузки быть? чип в доках поддерживает скорости до 2 мегабод
Serjio
или мегабит
Serjio
чип - в смысле ch340
Slava
чип - в смысле ch340
900000 с чемто прокачивает
Denis
у меня их штуки три валяется почемуто 460800 и всё больше не хотят...
Serjio
так вопрос - где еще нужно исправить эту скорость (кроме как в вызове make flash?)
v1ct0r
так вопрос - где еще нужно исправить эту скорость (кроме как в вызове make flash?)
Эммм.. Либо в параметрах esptools, либо в platformio.ini.. Либо в espdownloadtools..
v1ct0r
Чем шьёте?
Serjio
сборка в esp-free-rtos
Serjio
esptool.py -p /dev/tty.wchusbserialfd120 --baud 460800 write_flash -fs 16m -fm qio -ff 40m \ 1x0 ../../bootloader/firmware_prebuilt/rboot.bin 0x1000 ../../bootloader/firmware_prebuilt/blank_config.bin 0x2000 ./firmware/http_server.bin esptool.py v1.2 Connecting... Running Cesanta flasher stub... A fatal error occurred: Invalid head of packet ('\x04') make: *** [flash] Error 2
v1ct0r
Это же платформа. Потом это комплиься линкуется и шьётся..
v1ct0r
Параметр - - baud
Serjio
в сымсле платформа? откуда чип знает, что в него шьют на 460800?
Serjio
когда там 115200 - все работает (но медленно!)
Denis
автоопределение загрузчиком
Serjio
вот, как узнать, какие скорости поддерживаются загрузчиком?
Denis
пробывать
v1ct0r
Вы esptools в параметре baud передаёте скорость, на которой шить
Denis
230400
v1ct0r
Serjio
по воздуху - это идея. но больше шансов наделать ошибок. долго раскуривать?
Serjio
230400 - A fatal error occurred: Invalid head of packet ('\xbc')
v1ct0r
в сымсле платформа? откуда чип знает, что в него шьют на 460800?
Чип не знает. Это esptools "пихает" в него. А поймёт он или нет это не проблема esptools
Slava
Serjio
Чип не знает. Это esptools "пихает" в него. А поймёт он или нет это не проблема esptools
там в команде несколько файлов, вт ом числе бутлодер. может, он бутлодер на стандартной низкой скорости закачивать мог, а остальное - на пользовательской. пойду поизучаю, чтот ам вокруг этого бутлодера
v1ct0r
Шей по воздуху, это быстее
Ну ты издеваешься? Потратить половину (ну нет, но почти) флэша на ОТА,?
Denis
аппаратный бут стартует на 78400
Serjio
уже что-то
Slava
у меня только один в наличии
Когда то у меня тоже так было, а сейчас у меня больше 10 есп
Serjio
нашелпапку bootloader -но ивдимо промахнулся, оно про OTA)
Serjio
в смысле ch340 не сдюживает?
v1ct0r
аппаратный бут стартует на 78400
Аппаратный сериал... Если не вру...
v1ct0r
в смысле ch340 не сдюживает?
Хм... Должен легко..
v1ct0r
Перебором, по аозрастающей....
Serjio
не, вроде бы правильную папку нашел
Serjio
по возрастающей 115200 - максимум. на 76800 сейчас вот заливается
Serjio
обидно
Serjio
в доках к бутлодеру про скорость нет ни слова