Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

smart.js : общие вопросы

Тема в разделе "Mongoose IoT Platform", создана пользователем Victor, 22 июл 2015.

Метки:
  1. alashkin

    alashkin Разработчик Smart.js Команда форума

    Сообщения:
    19
    Симпатии:
    0
    Это вы про spi_flash_read или memcpy?

    Не от SDK, от V7.
     
  2. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.480
    Симпатии:
    1.274
    Это про https://github.com/cesanta/smart.js/blob/master/platforms/esp8266/user/v7_flash_bytes.c


    Она может иметь свои процедуры обращения к данным. Обычно в этом и заключается "портирование" :)
     
  3. alashkin

    alashkin Разработчик Smart.js Команда форума

    Сообщения:
    19
    Симпатии:
    0


    Я про вот это:
    >>Они читаются без прерываний по исключению, простой процедурой в одну строку.

    Какую процедуру вы имеете ввиду?

    >>Она может иметь свои процедуры обращения к данным.

    И может и не может. Строки (названия пропертей, тексты исключений etc) вольно раскиданы по коду V7.
    Если когда-то мы заменим строки вида `v7_throw("Oops")` на `v7_throw(get_text(text_Oops))` - тогда можно будет убрать переливку .rodata на флеш.

    Сейчас важнее освободить память.
     
  4. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.480
    Симпатии:
    1.274
    Перекиньте все переменные (в основном bss) имеющие структуру dword align(4) в IRAM.
    Туда перекидывается и часть структур от LwIP и т.д..
    IRAM расширяется до 48 килобайт за счет 'кэша', а 16 килобайт 'кэша' хватает чипу для исполнения довольно требовательных к "кэшу" flash приложений...
    Как итог у вас получается общая RAM = 0x20000 - rodata - data - bss(1 и 2) и при оптимизации китай-SDK heap выходит к 50 килобайт, а общей свободной памяти к 80 (из 128 имеющейся, + стек в области (16к) RAM-BIOS 0x3FFFE360..0x40000000 = 7328 байт).
    Т.е. использовать 30 кило свободной IRAM можете по своему усмотрению...
    Это и хотел проделать, но такая "сборка" V7 пока не вышла, т.к. понял, что использовать V7 как внутренний драйвер для обработки скриптов Java на ESP8266 не выйдет (т.к. он создан исключительно ради самого себя)... а хотелось бы... позже может опять попробую. :)
    Как бы ещё наблюдается тенденция в китай-RTOS-SDK 1.0.1 по выносу всех процедур работающих со стрингами в отдельную либу:
    libminic.a: strtol, strcat, strncat, strspn, strcspn, strtok_r, strtok, strrchr, strdup, strchr, atoi, atol, sprintf, snprintf, sscanf
    Это тоже дает варианты по собственной обработке байтовых строк в области 'кэша flash'...
     
    Последнее редактирование: 31 июл 2015
  5. Astrey

    Astrey Новичок

    Сообщения:
    1
    Симпатии:
    0
    Эм, ребята, я что то упустил?
    Нет такой функции. В любом случае у меня не работает:
    Вывод консоли (раскрыть)

    Executing init.js

    HELO! Type some JS. See https://github.com/cesanta/smart.js for more info.



    smartjs 24896/2148$ File.list("");

    ["gpio.js","I2C.js","init.js","MC24FC.js","MC24FC_test.js","MCP9808.js","MCP9808_test.js","MPL115A1.js","smart.js"]

    smartjs 24504/2304$ File.load("init.js");

    Exec error:{"message":"value is not a function"}

    smartjs 24504/2304$


    Так как же запустить файл?
     
  6. alashkin

    alashkin Разработчик Smart.js Команда форума

    Сообщения:
    19
    Симпатии:
    0
    Я дико извиниюсь, её переименовали в File.eval(...).
     
  7. Alexei

    Alexei Новичок

    Сообщения:
    20
    Симпатии:
    0
    Добрый день,

    Прошил свой NodeMCU Smart.js прошивкой, подключился, пытаюсь "замкнуть" GPIO 4, как GPIO.write(4,true), но ничего не выходит.. я что то делаю не так?

    Спасибо
     
  8. ixbase

    ixbase Новичок

    Сообщения:
    1
    Симпатии:
    0
    linux ???
    smart.js-alpha1.1
    ./make.sh
    CC user/sj_hal_esp.c -> build/sj_hal_esp.o
    user/sj_hal_esp.c:1:20: fatal error: sj_hal.h: No such file or directory
    [HASHTAG]#include[/HASHTAG] "sj_hal.h"
    ^
    compilation terminated.
    make: *** [build/sj_hal_esp.o] Error 1
    Где искать недостающие файлы?
     
  9. 64-core CPU

    64-core CPU Новичок

    Сообщения:
    1
    Симпатии:
    0
    А есть ли где справочник, где указаны все функции этого языка программирования? Я имею ввиду не обычные функции JS, а те, которые были добавлены для "обвязки".
     
  10. lsm

    lsm Разработчик Smart.js Команда форума

    Сообщения:
    147
    Симпатии:
    28
    Такого быть не должно :)
    Сделайте пожалуйста ./make.sh clean all
     
  11. lsm

    lsm Разработчик Smart.js Команда форума

    Сообщения:
    147
    Симпатии:
    28
    Мы нового языка не делали, а только добавили функции для работы с сетью и железом.
    Вот документация: https://www.cesanta.com/developer/smartjs#_javascript_api_reference

    Дайте знать если будут вопросы!
     
  12. alexsk

    alexsk Новичок

    Сообщения:
    7
    Симпатии:
    1
    Попробовал данную прошивку/фреймворк. Из коробки не полетело. Точнее с грехом пополам поставить удалось, но сервер поднять так и не вышло - нет у объекта Http метода createServer. Ставил последнюю "бету" из гита - https://github.com/cesanta/smart.js/releases

    С загрузкой файлов тоже были танцы с бубнами - через чипс файлы заливаются с ошибками (в содержимом местами мусор).

    Собственно вопроса два - поддерживается ли esp8266 201 (может в этом дело?), и как правильно поднять http-сервер?
     
  13. lsm

    lsm Разработчик Smart.js Команда форума

    Сообщения:
    147
    Симпатии:
    28
    @alexsk - пробуйте не бету, а текущий билд, ссылки на https://github.com/cesanta/smart.js#documentation-and-downloads
    С загрузкой файлов через чипс - да, есть такая проблема. Мы для этого DAV сделали, но и он пока работает нестабильно, работаем над этим.
     
  14. alexsk

    alexsk Новичок

    Сообщения:
    7
    Симпатии:
    1
    @lsm, спасибо, вечером попробую еще раз. :) Еще вопрос, насколько реализация JS соответствует стандарту? И какому, кстати? В доках вроде бы где-то ES6 упомянался... Какие вообще в этом плане сейчас есть ограничения?
     
    Последнее редактирование: 17 дек 2015
  15. lsm

    lsm Разработчик Smart.js Команда форума

    Сообщения:
    147
    Симпатии:
    28
    Стандарт - ES5.
    Сейчас есть ряд несоответствий стандарту. Мы используем ECMA 262 test suite , который для ES6. Покрытие на данный момент - около 60%.
     
    Victor нравится это.
  16. Шаповалов Игорь

    Шаповалов Игорь Новичок

    Сообщения:
    32
    Симпатии:
    1
    На яве можно писать под ESP8266? можно по подробнее что то не нашёл не какой инфы по этому поваду.
     
  17. joviallix

    joviallix Новичок

    Сообщения:
    11
    Симпатии:
    0
    А как собрать новый билд через докер? Скачал последнюю версию и видимо инструкция уже весьма устарела.
    Я же не могу просто набрать make в докер консоли, тупо make нет в системе.
    Запустил C:/Users/smart.js/smartjs/platforms/esp8266/tools/make.sh, скачались образы докера и запустилась компиляция (что нужно запускать make.sh из tools нигде не написанно)
    но сборка завершилась неудачей:

    Код (Text):
    1.   CC    /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sys_config.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sys_config.o
    2.   GEN   /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/build_info.c
    3. : No such file or directory
    4. make[1]: *** [/cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/build_info.c] Error 127
    5. make[1]: Leaving directory `/cesanta/smartjs/platforms/posix'
    6. make: *** [/cesanta/smartjs/platforms/esp8266/build/posix_sjs_bin/smartjs] Error 2
     
  18. alashkin

    alashkin Разработчик Smart.js Команда форума

    Сообщения:
    19
    Симпатии:
    0
    Приветствую.
    На вопрос как - могу ответить "запустить make.sh" =). Но похоже это сломалось.
    Я погляжу что как, но давайте уточним сначала:
    1. Widows какой версии?
    2. Docker какой версии?
    3. Вы make.sh запускаете из консоли докера, его SSH, из cmd.exe или ещё как?
    4. Как я понимаю, всяческих mingw в системе не установалено?
    5. Вы что собираете? Текущую версию с github/smartjs?
     
  19. joviallix

    joviallix Новичок

    Сообщения:
    11
    Симпатии:
    0
    @alashkin Спасибо за ответ. Поехали:
    1. Windows 10 (обновляется регулярно)
    2. Docker самый свежий, вчера скачал
    Код (Text):
    1. $ docker -v
    2. Docker version 1.10.3, build 20f81dd
    3. После установки докера, появилось приложение Docker Quickstart Terminal, через него и запустил. Это консоль mingw64 (Кстати, этот момент в Вашей документации совсем не описан. Я понимаю что есть и cmd и PowerShell и консолько самой виртуалки и тд, но нет даже названия образа, получается без make.sh и образ не скачать и на его консоль не попасть. Можно конечно посмотреть в файле sdk.version, но это ведь уже ковырять надо все)
    4. У меня стоит git с его mingw оберткой и может еще какой-то mingw завалялся, но в PATH врялти прописаны
    5. Выкачал последнюю версию с репозитория "GitHub - cesanta/smart.js: Smart.js is a full-stack IoT platform including firmware and cloud components available for ESP8266." хочу собственно собрать smart.js

    PS. Не сочтите это все за претензию :) Я очень рад что есть Ваш проект и собираюсь им так же радостно пользоваться.
    Просто пока документация немного розниться с новыми версиями, и это нормально, так часто бывает.
     
  20. alashkin

    alashkin Разработчик Smart.js Команда форума

    Сообщения:
    19
    Симпатии:
    0
    Ok, сейчас попробую.
    Даже если и претензия - то это OK =).
    У нас Windows постоянно выпадает из поля зрения, стараемся это изменить, но у нас в команде нет никого, что бы Windows использовал на постоянной основе, поэтому с ней чудеса временами происходят.
    PS: пошёл проверять, отпишусь по результатам.
     

Поделиться этой страницей