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

Запрос библиотек/драйверов для Sming

Тема в разделе "Sming Open Source Framework", создана пользователем JustACat, 23 мар 2015.

Метки:
  1. Alexander V. Ribchansky

    Alexander V. Ribchansky Читатель

    Сообщения:
    35
    Симпатии:
    9
    С SPI все просто -
    MISO == GPIO12
    MOSI == GPIO13
    CLK == GPIO14

    + какой-то GPIO для chip select по выбору и вперед.

    [HASHTAG]#include[/HASHTAG] <SPI.h>
    uint8_t read_from_spi, write_to_spi;

    SPI.begin();
    read_from_spi = SPI.transfer(write_to_spi);

    и собственно все...Тут вот пример для общения со сдвиговыми регистрами 74hc165 + 74hc595 https://github.com/avr39-ripe/HeatControl/blob/thermostat/app/spi_loop.cpp
    а тут - как читать из Serial. в качестве источника - ардуинка :) https://github.com/avr39-ripe/ValveControl/blob/master/app/application.cpp#L52
     
  2. CHERTS

    CHERTS Moderator Команда форума

    Сообщения:
    483
    Симпатии:
    107
    Petrynchyn нравится это.
  3. vasp1976

    vasp1976 Новичок

    Сообщения:
    4
    Симпатии:
    0
    В общем такая просьба, есть у меня часы, с большими 15 см цифрами, очень нравятся, но настраивать время можно только с IR пульта, кторый уже несколько лет как кудато ушёл :(
    В часах RTC чип, DS1307, а в нём довльно быстро уплывает время, сейчас приходится периодически вытаскивать модуль с RTC чипом и настраивать его через ардуину с компа. Но както надоело.
    Думаю поставить esp8266 синхронизировать её по NTP и отдавать данные часам по I2C как это делают оригинальные чиы DS. Часы глупые - время постоянно тянут с RTC, в своем контроллере вообще ничего кроме отображения не делают, так что должно сработать. Нашел готовый эмулятор https://github.com/thexeno/Firmwares/tree/master/projects/ds1307emulator но он под PIC контроллер, у меня знаний не хватает это дело портировать. Может у кого получится, врядли там очень сложно, I2C на esp есть, slave-ом оно работать может.
     
  4. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    970
    Симпатии:
    150
    Может просто пульт на ESP сделать?
     
  5. vasp1976

    vasp1976 Новичок

    Сообщения:
    4
    Симпатии:
    0
    так а нету пульта, его бы я и без esp сделал :), вообще часы изначально достались мне без пульта, год выпуска у них чтото около 2002. но реально самое то на кухне, и ночью светло от них :), на atmel контроллере какомто древнем. производитель, наш, Российский, списывался с ними - просят за новый пульт 2 тыс руб. меня жаба задавит столько им отдавать за такое старьё. а узнать сейчас что он там должен слать - даже не представляю как без оригинального.
     
  6. vasp1976

    vasp1976 Новичок

    Сообщения:
    4
    Симпатии:
    0
    ну пока праздники идут, углубился в тему, а espшка то slave-ом и не умеет на I2C висеть как я понял, так что видимо никто тут не поможет, в SDK во всех примерах оно только как мастер девайс, в инете только вопрсы подобные моему :( Жаль, хотел малой кровью обойтись, но видно придется еще и ардуину втыкать между часами и esp :(. Это будет в разы проще, на AVRку уже нашел эмулятор, даже не DS1307 а DS1374, так что в дуину двестирублевую это дело закатаю, а время по UART с espшки буду брать.
     
    Последнее редактирование: 5 янв 2016
  7. FGX

    FGX Читатель

    Сообщения:
    100
    Симпатии:
    9
    Писать будете под атмел студио на С или в ардуино?
     
  8. vasp1976

    vasp1976 Новичок

    Сообщения:
    4
    Симпатии:
    0
    Да сделал уже на выходных все. Пашут часики, по инету синхронизируются.
    Для ардуины написал в её IDE, для espшки - в эклипсе.
    По сути весь код дуины - пара строк
    основное это вот:

    в setup:

    Wire.begin(0x68); // join i2c bus with address #68 (RTC chip)
    Wire.onRequest(requestEvent); // register event
    Wire.onReceive(receiveEvent);

    void receiveEvent(int numbytes)
    {
    while(Wire.available())
    {
    number = Wire.read();
    }
    }

    ну и собственно тут отвечаем на запросы часов и минут, там правда еще дофига всяческих регистров, но мне этого не нужно было
    от слова совсем :)

    void requestEvent()
    {
    Wire.write(byte(0x00));
    if(number==1) Wire.write(decToBcd(iminute));//minutes
    if(number==2) Wire.write(decToBcd(ihour)); //hours
    }
    // Convert normal decimal numbers to binary coded decimal
    byte decToBcd(byte val)
    {
    return ( (val / 10 * 16) + (val % 10) );
    }
     
  9. Климатехник

    Климатехник Читатель

    Сообщения:
    126
    Симпатии:
    11
    Petrynchyn нравится это.
  10. Symrak

    Symrak Новичок

    Сообщения:
    18
    Симпатии:
    1
    Реквистирую добавить поддержку функции sscanf. Спасибо.
     
  11. SamGold

    SamGold Новичок

    Сообщения:
    43
    Симпатии:
    4
  12. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    planar74 нравится это.
  13. SamGold

    SamGold Новичок

    Сообщения:
    43
    Симпатии:
    4
    Очень хочется быстро и просто делать меню с настройками через M2tklib, но с Adafruit GFX она не дружит :(

    menubackend library submenus
     

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