#2 Re: Аппаратные вопросы » плата » 2020-04-28 11:56:15

Screenshot_7.png
2020.04.28 доступен только DHL,
вопрос  исчерпан.

#3 Re: Аппаратные вопросы » плата » 2020-04-23 08:52:06

Mishka пише:

На днях искал, где можно было бы изготовить печатную плату (без монтажа) по весьма типовому процессу: два слоя, маска и маркировка с двух сторон, ширина дорожек/зазоров 8 мил, материал FR-4, толщина 1.6 мм, диаметр переходных отверстий 0.4 мм. Заказ минимальный (около 5 шт).

Варианты, которые я рассматривал:

  • PCB ETAL (Украина) - $50 (5 шт)

  • pcb24.com.ua (Украина) - $20 (8 шт)

  • pcbtut.com (Украина) - $25 (5 шт)

  • Альфа КиПП (Украина) - $35 (1 шт, возможно больше)

  • PCBWay (Китай) - $5 (10 шт) + $5 доставка

  • JLCPCB (Китай) - $2 (5 шт) + доставка не знаю сколько

  • OSH Park (США) - $4.85 (3 шт), доставка бесплатная

Слава Україні!

привет, благодарю за инфу,

по JLCPCB - рекомендуемый   размер платы не более 100x100 мм, иначе небольшой коефициент по цене  появляется.
за 5 коплектов плат в среднем 50x100


2 бакса - то штраф, завтыкал добавить сверловку.

jlcpcb

одна проблема - 2 недели на таможне провалялись ( заказывал в прошлом году )

DHL standart за 32 USD везет до 10 дней
так как плат всего 5  одинаковых, на таможне не должно быть  вопросов
через неделю,2020.05.01, кто то хочет скооперироваться на заказ плат?
3 человека будет в самый раз.

#4 Re: Проекты » Шукаю виконавця » 2020-01-14 23:23:42

https://blynk.io/
проект местный,  прототипы  free

#5 Re: Аппаратные вопросы » Помогите подобрать радио оборудование » 2020-01-14 23:05:16

спецификации Lora от Semtech конечно шикарные
но домашнюю систему (для себя) делал бы на
https://www.ti.com/product/CC1310
это если в удовольствие от реализации, а не "покупаем компоненты подешевле"

#6 Re: Аппаратные вопросы » Помогите подобрать радио оборудование » 2020-01-12 23:12:37

https://ajax.systems/

но если идея сделать все самостоятельно и если Вы способны  реализовать все "хотелки" сами
помощь архитектора вам не нужна

#7 Re: Разное » Продам остатки МК от проектов » 2019-11-13 15:18:22

паянные на утилизацию,
непаянная - проще подарить кружку по электроннике если такие еще остались, микрухи то ординарные. больше времени потеряете на доставку, даже если просто зайти на НП.

и себе что ли ревизию сделать )

#8 Re: Разное » while (1) {...} or for (;;) {...} » 2019-11-06 16:14:35

чего тему то создал
есть такой нихрена непонятный код, хотелось бы разобраться... хоть пихните в нужную сторону.
автор проверял компиляторы на "что то" ), не люблю чувствовать себя идиотом, а тут как раз тот случай ) 

#include <stdint.h>

#define NULL (0)

typedef double          f64;
typedef float           f32;
typedef uint64_t        u64;
typedef int64_t         i64;
typedef uint32_t        u32;
typedef int32_t         i32;
typedef uint16_t        u16;
typedef int16_t         i16;
typedef uint8_t         u8;
typedef int8_t          i8;


typedef i64             m3reg_t;
typedef void /*const*/ *                    code_t;
typedef code_t const * /*__restrict__*/        pc_t;
typedef const void *            m3ret_t;

#     define vectorcall

#    define d_m3OpSig                 pc_t _pc, u64 * _sp, u8 * _mem, m3reg_t _r0, f64 _fp0
#    define d_m3OpArgs                _sp, _mem, _r0, _fp0
#    define d_m3OpAllArgs             _pc, _sp, _mem, _r0, _fp0
#    define d_m3OpDefaultArgs         666, 666.0

typedef m3ret_t (vectorcall * IM3Operation) (d_m3OpSig);

# define immediate(TYPE)             * ((TYPE *) _pc++)
# define slot(TYPE)                  * (TYPE *) (_sp + immediate (i32))


# define d_m3RetSig                  static inline m3ret_t vectorcall
# define d_m3Op(NAME)                d_m3RetSig op_##NAME (d_m3OpSig)


# define nextOp()                    ((IM3Operation)(* _pc))(_pc + 1, d_m3OpArgs)


#define d_m3CommutativeOpMacro(RES, REG, TYPE, NAME, OP, ...) \
d_m3Op(TYPE##_##NAME##_sr)                                \
{                                                         \
    TYPE * stack = (TYPE *) (_sp + immediate (i32));      \
    OP((RES), (* stack), ((TYPE) REG), ##__VA_ARGS__);    \
    return nextOp ();                                     \
}                                                         \
d_m3Op(TYPE##_##NAME##_ss)                                \
{                                                         \
    TYPE * stackB = (TYPE *) (_sp + immediate (i32));     \
    TYPE * stackA = (TYPE *) (_sp + immediate (i32));     \
    OP((RES), (* stackA), (* stackB), ##__VA_ARGS__);     \
    return nextOp ();                                     \
}

#define d_m3OpMacro(RES, REG, TYPE, NAME, OP, ...)        \
d_m3Op(TYPE##_##NAME##_rs)                                \
{                                                         \
    TYPE * stack = (TYPE *) (_sp + immediate (i32));      \
    OP((RES), (* stack), ((TYPE) REG), ##__VA_ARGS__);    \
    return nextOp ();                                     \
}                                                         \
d_m3CommutativeOpMacro(RES, REG, TYPE,NAME, OP, ##__VA_ARGS__)

// Accept macros
#define d_m3CommutativeOpMacro_i(TYPE, NAME, MACRO, ...)     d_m3CommutativeOpMacro    ( _r0,  _r0, TYPE, NAME, MACRO, ##__VA_ARGS__)
#define d_m3OpMacro_i(TYPE, NAME, MACRO, ...)                d_m3OpMacro                ( _r0,  _r0, TYPE, NAME, MACRO, ##__VA_ARGS__)
#define d_m3CommutativeOpMacro_f(TYPE, NAME, MACRO, ...)     d_m3CommutativeOpMacro    (_fp0, _fp0, TYPE, NAME, MACRO, ##__VA_ARGS__)
#define d_m3OpMacro_f(TYPE, NAME, MACRO, ...)                d_m3OpMacro                (_fp0, _fp0, TYPE, NAME, MACRO, ##__VA_ARGS__)

#define M3_FUNC(RES, A, B, OP)  (RES) = OP((A), (B))    // Accept functions: res = OP(a,b)
#define M3_OPER(RES, A, B, OP)  (RES) = ((A) OP (B))    // Accept operators: res = a OP b

#define d_m3CommutativeOpFunc_i(TYPE, NAME, OP)     d_m3CommutativeOpMacro_i    (TYPE, NAME, M3_FUNC, OP)
#define d_m3OpFunc_i(TYPE, NAME, OP)                d_m3OpMacro_i                (TYPE, NAME, M3_FUNC, OP)
#define d_m3CommutativeOpFunc_f(TYPE, NAME, OP)     d_m3CommutativeOpMacro_f    (TYPE, NAME, M3_FUNC, OP)
#define d_m3OpFunc_f(TYPE, NAME, OP)                d_m3OpMacro_f                (TYPE, NAME, M3_FUNC, OP)

#define d_m3CommutativeOp_i(TYPE, NAME, OP)         d_m3CommutativeOpMacro_i    (TYPE, NAME, M3_OPER, OP)
#define d_m3Op_i(TYPE, NAME, OP)                    d_m3OpMacro_i                (TYPE, NAME, M3_OPER, OP)
#define d_m3CommutativeOp_f(TYPE, NAME, OP)         d_m3CommutativeOpMacro_f    (TYPE, NAME, M3_OPER, OP)
#define d_m3Op_f(TYPE, NAME, OP)                    d_m3OpMacro_f                (TYPE, NAME, M3_OPER, OP)


d_m3CommutativeOp_i (i32, Equal,                        ==)
d_m3CommutativeOp_i (i64, Equal,                        ==)
d_m3Op_i (i32, NotEqual,                    !=)
d_m3Op_i (i64, NotEqual,                    !=)


typedef struct M3OpInfo
{
    IM3Operation            operation_sr;        // top operand in register
    IM3Operation            operation_rs;        // top operand in stack
    IM3Operation            operation_ss;        // both operands in stack
}
M3OpInfo;

#define d_emptyOpList() NULL, NULL, NULL
#define d_unaryOpList(TYPE, NAME) op_##TYPE##_##NAME##_r, op_##TYPE##_##NAME##_s, NULL
#define d_binOpList(TYPE, NAME) op_##TYPE##_##NAME##_sr, op_##TYPE##_##NAME##_rs, op_##TYPE##_##NAME##_ss
#define d_commutativeBinOpList(TYPE, NAME) op_##TYPE##_##NAME##_sr, NULL, op_##TYPE##_##NAME##_ss


const M3OpInfo c_operations[] = {
    { d_commutativeBinOpList (i32, Equal) },
    { d_binOpList (i32, NotEqual) },
    { d_commutativeBinOpList (i64, Equal) },
    { d_binOpList (i64, NotEqual) },
};

add,  пример сборки

# gcc - xtensa

export PATH=~/.platformio/packages/toolchain-xtensa/bin/:$PATH
xtensa-lx106-elf-gcc $FLAGS -S ops.c -o esp8266.S

export PATH=~/.platformio/packages/toolchain-xtensa32/bin/:$PATH
xtensa-esp32-elf-gcc $FLAGS -S ops.c -o esp32.S

#9 Re: Разное » while (1) {...} or for (;;) {...} » 2019-11-06 16:01:01

Kaka пише:
NoName пише:

интересно наблюдать за пенсионерами, которые учат уму-разуму молодняк )

Не понял Вы наблюдатель? Или продавец попкорна? Если второе, то круто - отличный заход!

NoName пише:

"между С и С++ разницы нет"

Это кто такое сказал-то? Видимо, человек не знающий ни того, ни другого.

я разливаю клиентам брендованную ортофосфорную  кислоту, но очень хочу войти в айти ) говорят там денег реально немеренно,
пипл  копипастит код из стековерфлоу и горя не знает.

add

#10 Re: Разное » while (1) {...} or for (;;) {...} » 2019-11-06 15:10:51

насчет тождесвенности  структуры  и класса  - это актульно только для ++
основная разница - в структуре  все члены по уполчанию открыты

надеюсь си никогда не станет ++ ),  ваше ООП - воплощение вселенского зла )

#11 Re: Разное » while (1) {...} or for (;;) {...} » 2019-11-06 11:27:33

Kaka пише:
NoName пише:

предлагаю эту тему для обсудить

С какой целью?

интересно наблюдать за пенсионерами, которые учат уму-разуму молодняк ),  и в этом споре сам что то интрересное узнаю,
например что "между С и С++ разницы нет", вот сижу доки читаю, пока думаю что это утверждение таки спорно. я ведь ++  особо не использую, спорить не буду.

Kaka, а Вы часом с Азаровым или Watchdog`ом не работали?  )

#13 Разное » while (1) {...} or for (;;) {...} » 2019-11-05 21:49:21

NoName
відповідей: 32

предлагаю эту тему для обсудить "особенности использования Cи и С++"
только без перехода на личности, иначе снесут big_smile

#14 Re: Программирование Arduino » Помогите с нажатием на кнопку (удержание) » 2019-11-05 12:49:47

Kaka пише:
NoName пише:

кстати, какой  ресурс гуру рекомендуют почитать?

На какой предмет читать собрались? Если хотите знать язык в совершенстве и в тонкостях, то это одно, а если хотите учиться программировать - то это другое.

привет. с одной стороны пора на пенсию, а с другой не хотелось бы помереть дурнем ) всё учу и ньюансы языка Си и парадигмы программирования )
там ТАКОЕ непаханное поле информации, за пределами слабеньких контроллеров, что просто жуть )

#15 Re: Программирование Arduino » Помогите с нажатием на кнопку (удержание) » 2019-11-05 00:20:45

Вы бы тему создали "срачи о языке"
я бы почитал, книги как скучны (
кстати, какой  ресурс гуру рекомендуют почитать?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/n4820.pdf  сложно заходит (

#17 Re: Аппаратные вопросы » Прошу помощи! Создание эмулятора балласта лампы проектора Epson. » 2019-11-04 13:24:31

Carlos Navarrete, development of the emulator is possible only on condition that the equipment works correctly
it is necessary to save the correct answers, they depend on the motherboard & lamp controller, if the emulator answer is incorrect, the device turns off

#20 Re: Программирование Arduino » Использование тернарного оператора при программировании Arduino UNO » 2019-09-30 22:51:36

Homo Faber пише:

Отлично! Всё получилось, Вы безусловно правы "Х-1", вот где собака порылась!
Спасибо огромное.
Я всегда говорил, что Си - не самый лучший язык, в связи с дебильностью неудобством и неоднозначностью конструкций, сейчас получил очередное доказательство.
Ещё раз спасибо!!!!

ROFL
благодарю, улыбнуло  )

#21 Re: Программирование Arduino » Предлагаю заработок » 2019-09-21 10:17:05

Watchdog пише:
Сергей И пише:

300 грн

Начальная цена названа. Кто сделает дешевле? Я пасс.

ну вы и язва )
задача то вообще никакая, как вы могли даже посмотреть в эту сторону )  а школьнику в самый раз и не сложно и 300 UAH не помешает на пепсиколу )
тут чистой работы минут на 30 такому спецу как Вы, 24 USD/H в Украине не так уже и плохо )
ну не заплатит он 20-200KUAH за отличный код и документацию по ЕСПД )

кстати, тему бы переназвать )

[add] школьнику не помешает набить шишки на задачах без ТЗ )

#22 Re: Проекты » помогите найти ошибку » 2019-09-08 21:47:11

uh inna,  Вам бы соратника найти, с которым могли бы вместе разбиратся в этом проекте.
Я Вам не помошник.
удачи

#23 Re: Проекты » помогите найти ошибку » 2019-09-03 15:08:08

г0сть пише:

...
ага, особенно для новичка. Я когда первый раз столкнулся с PIO не мог запустить простейший blink. Плюс еще держать в голове и вручную прописывать в platformio.ini платы, порты и т.д. В общем на вкус и цвет ...

полюбє удобнее чем make config )
какие нынче есть варианты для зоопарка? 
ардуино и под msp430 есть (удалено, тут были матерные ругательства%)

#24 Re: Проекты » помогите найти ошибку » 2019-09-02 10:45:38

смысл использовать Arduino IDE в этом проекте?  PIO хорош тем что имеете шанс избавится от  бардака с библиотеками  +  легкий перенос на другой комп,  без танцев с либами.
Arduino IDE приемлимо испольовать  при простой реализации некой последовательности простых событий, иначе  это местный филиал ада, в блокноте уже проще код править.

успеха Вам )

#25 Re: Проекты » помогите найти ошибку » 2019-08-29 13:46:19

я уже собрал ваш проект
https://drive.google.com/file/d/1lV8v6C_NyHZiIoFIeEeWPBJUEbfUR_kU/view?usp=sharing

все либы уже на месте
откройте как проект pio
я заменил define с A0 на что то "от фонаря".
все компилируется.
см картинку выше.

Підвал форуму