Opened 3 weeks ago

Closed 3 weeks ago

Last modified 3 weeks ago

#857 closed задача (fixed)

Доработка окна платы 4C-37

Reported by: san Owned by: alx
Priority: высокий Milestone: 1 очередь
Component: sw Keywords:
Cc: ledol

Description (last modified by san)

Доработка окна платы 4C-37
Плата 4C-37 наконец-то из концептуальной разработки стала законченным продуктом.
Требуется изменить веб-интерфейс и бэкэнд в соответствии с реальным функционалом платы, чтобы можно было передать её пользователям.

  1. Плата не поддерживает(и не будет) функцию резервирования потоков E1:
  • 1.1 убрать взаимодействие интерфейса с переменными .10.0, .11.0
  • 1.2 убрать из окна платы столбец Резервирование
  1. Плата в текущей прошивке и в ближайшее время не поддерживает функцию передачи плезиохронных потоков E1 в кросс:
  • 2.1 Настройку "Плезиохронный поток" всегда записывать в значение выкл(чекбокс снят)
  • 2.2 Удалить из окна платы столбцы Плезиохронный поток, Выбор шины для стаффинга, Позиция стаффинга
  1. На текущий момент плата поддерживает только режим работы "Режим переприема C37-E1". На портах 1 и 2 чекбокс "Режим переприема C37-E1" должен быть всегда установлен и задизейблен для пользователя, в плату всегда записывается установленное значение чекбокса.
  1. При включенном чекбоксе "Режим переприема C37-E1" порта 1, настройки "Позиция TDM" портов 1 и 5 игнорируются (не проверяются конфликты и не отображается цветная строка на вкладке TDM). Аналогично при включенном чекбоксе "Режим переприема C37-E1" порта 1, настройки "Позиция TDM" портов 2 и 6 игнорируются.
  1. Настройки "Число каналов C37-94" для портов 5 и 6 должна отсутствовать (у портов E1 нет такой настройки)
  1. Порты 3 и 4 платы пока не работают
  • 6.1 Нужно задизэйблить строки этих портов, поставить чекбокс заблокирован и в плату всегда записывать что порт заблокирован
  • 6.2 Ячейки столбца "Состояние" для портов 3 и 4 отображать серым цветом.
  1. Т.к. чекбоксы "Режим переприема C37-E1" всегда включены а порты 3 и 4 не работают, то столбец "Позиция TDM" не используется в настройке платы и его нужно спрятать от пользователя (позже, для следующих прошивок плат возможно он понадобится).
  1. Освободившаяся в п.1 переменная .10.0 используется теперь для других целей в байте 0 хранится значение регистра настроек "mode":
      [6,5] =1: контроль по CRC-4 в приёмнике E1_1/E1_2 отключить
        [4] =1/0: порт C37_1 подключен к TDM/E1_1, порт E1_1 - к TDM/C37_1
        [3] =1/0: порт C37_2 подключен к TDM/E1_2, порт E1_2 - к TDM/C37_2
      [1:0] =0..3: режим синхронизации от pclk/clk65m/E1/несинхр.
    
  • 8.1 Настройки "Режим переприема C37-E1" теперь хранятся в другом месте - бит 3(порт 2) и бит 4(порт 1) байта 0 переменной .10.0. Значение бита 0 - чекбокс установлен.
  • 8.2 В группу настроек "Синхронизация" нужно добавить новую настройку: "Источник", с вариантами "Генератор", "E1", "Несинхронный". Значение хранится в битах 0,1 байта 0 переменной .10.0. "Генератор" - 1, "E1" - 2, "Несинхронный" -3. По умолчанию "Несинхронный".
  • 8.3 В таблицу нужно добавить столбец "CRC-4" для портов 5 и 6 в столбце должны быть чекбоксы. Бит 6(порт 5) и бит 5(порт 6) байта 0 переменной .10.0. Значение бита 0 - чекбокс установлен. По умолчанию чекбокс снят.

p.s.
Описание переменных платы было здесь ticket:747#attachment:4C-37_Mib_V3.txt
Также в качестве дополнительной информации прилагаю "тз" на ПО платы и описание регистров ПЛИС

Attachments (2)

4c37tt_reg.txt (4.8 KB ) - added by san 3 weeks ago.
4c37tt_этап1.txt (13.8 KB ) - added by san 3 weeks ago.

Download all attachments as: .zip

Change History (34)

by san, 3 weeks ago

Attachment: 4c37tt_reg.txt added

by san, 3 weeks ago

Attachment: 4c37tt_этап1.txt added

in reply to:  description comment:1 by alx, 3 weeks ago

Cc: ledol added

Replying to san:

  1. Плата не поддерживает(и не будет) функцию резервирования потоков E1:

Как не поддерживает? Еще два года назад @lodol (разработчик этой платы?) в тикете #688 ставил мне задачу добавить в SW-01 поддержку этой платы, и там совершенно ясно говорится о наличии функции резервирования. Когда и как поддержка платой резервирования "испарилась"? :)

Добавил к тикету @ledol как автора первоначального тикета - возможно, он сможет помочь разобраться в этой загадочной истории...

  1. Плата в текущей прошивке и в ближайшее время не поддерживает функцию передачи плезиохронных потоков E1 в кросс:

В том же тикете #688 говорится и о наличии плезиохронного режима потоков тоже... Ты точно уверен, что поддержка этого режима из платы удалена?

  1. На текущий момент плата поддерживает только режим работы "Режим переприема C37-E1". На портах 1 и 2 чекбокс "Режим переприема C37-E1" должен быть всегда установлен и задизейблен для пользователя, в плату всегда записывается установленное значение чекбокса.

Если конфигурационный параметр (чекбокс) недоступен пользователю для изменения, зачем тогда он вообще нужен? Не проще ли (и не лучше ли) будет просто убрать его из веб-интерфейса?

  1. При включенном чекбоксе "Режим переприема C37-E1" порта 1,

??? Выше (в п. 3) ты, кажется, писал, что этот параметр включен всегда... Или я что-то неправильно понял?

  1. Освободившаяся в п.1 переменная .10.0 используется теперь для других целей

??? Но это же нарушит совместимость с ранее созданными конфигурациями, ведь получится, что при конфигурировании значение переменной .10.0 сформировано для одних целей, а плата (с новой прошивкой) будет использовать (интерпретировать) это значение для совсем других! И наоборот - значение переменной, сформированное новым веб-интерфейсом для одних целей, будет интерпретироваться платой со старой прошивкой для совсем других, то есть обратная совместимость будет нарушена тоже! Не лучше ли для других целей и переменную использовать другую, как это, собственно, и было нами задумано с самого начала ~13 лет назад?

  • 8.1 Настройки "Режим переприема C37-E1" теперь хранятся в другом месте

??? Это же опять нарушает совместимость! Получается, что при создании конфига значение параметра было помещено в одно место, а плата (с новой прошивкой) будет брать его совсем в другом! То же самое получится, если конфигурация будет сделана новым веб-интерфейсом, а в блок установлена плата со старой прошивкой - то есть обратная совместимость будет нарушена тоже! Не будет ли лучше оставить настройку в том месте, где она была изначально?

comment:2 by san, 3 weeks ago

На данный момент, я ведущий разработчик этой платы и могу дать ответы на твои вопросы.
До сих пор было непонятно что конкретно должна делать плата и как, плату мы возили на разные испытания, работали с производителями РЗиПА и заказчиками и в итоге определились. ПЛИС платы была полностью переделана Валерием Павловичем (первые версии писал Толя).

Как не поддерживает? Еще два года назад @lodol (разработчик этой платы?) в тикете #688 ставил мне задачу добавить в SW-01 поддержку этой платы, и там совершенно ясно говорится о наличии функции резервирования. Когда и как поддержка платой резервирования "испарилась"? :)

Ранее функция была унаследована из ПЛИС E1-08, для платы 4C-37 она не нужна, в новой ПЛИС функция не поддерживается.

В том же тикете #688 говорится и о наличии плезиохронного режима потоков тоже... Ты точно уверен, что поддержка этого режима из платы удалена?

Да, этой функции у платы точно нет.

Если конфигурационный параметр (чекбокс) недоступен пользователю для изменения, зачем тогда он вообще нужен? Не проще ли (и не лучше ли) будет просто убрать его из веб-интерфейса?

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

??? Выше (в п. 3) ты, кажется, писал, что этот параметр включен всегда... Или я что-то неправильно понял?

Всё правильно. Я имел в виду, что можно не удалять код из ветки где чекбокс выключен, может пригодится на следующем этапе, в плате переменные и регистры зарезервированы для функции выхода в TDM, но самой функции пока нет в ПЛИС.

??? Но это же нарушит совместимость с ранее созданными конфигурациями, ведь получится, что при конфигурировании значение переменной .10.0 сформировано для одних целей, а плата (с новой прошивкой) будет использовать (интерпретировать) это значение для совсем других! И наоборот - значение переменной, сформированное новым веб-интерфейсом для одних целей, будет интерпретироваться платой со старой прошивкой для совсем других, то есть обратная совместимость будет нарушена тоже! Не лучше ли для других целей и переменную использовать другую, как это, собственно, и было нами задумано с самого начала ~13 лет назад?
??? Это же опять нарушает совместимость! Получается, что при создании конфига значение параметра было помещено в одно место, а плата (с новой прошивкой) будет брать его совсем в другом! То же самое получится, если конфигурация будет сделана новым веб-интерфейсом, а в блок установлена плата со старой прошивкой - то есть обратная совместимость будет нарушена тоже! Не будет ли лучше оставить настройку в том месте, где она была изначально?

Мы считаем что плат со старой прошивкой не было у пользователя, они все у нас(или скоро будут у нас), конфигураций у пользователей тоже нет, т.к. платы в эксплуатацию ещё не поставлялись.

in reply to:  2 comment:3 by alx, 3 weeks ago

Replying to san:

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

Не могу удержаться от замечания о том, что у нас в компании "ведущими разработчиками" называют не разработчиков вообще. Например я являюсь ведущим разработчиком блока MC04-DSL-VIP, который я никогда не разрабатывал. Но, как бы то ни было, я рад, что ты можешь ответить на мои вопросы. :)

До сих пор было непонятно что конкретно должна делать плата

;) Прости, опять не могу удержаться от комментария. Два года назад плату разработали. Год назад платы отгружена заказчику. И вот наконец-то сегодня нам стало понятно, что конкретно эта плата должна делать! ;) Мы контрамоты! :)

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

Подожди... Но это же очень плохо, когда продукт не работает (пусть даже частично)! Это же негативно отражается на репутации производителя! Зачем же намеренно показывать, что у нас якобы что-то есть, но не работает? Не противоречит ли это Политике качества (ведь это снижает удовлетворенность потребителя!)? Не лучше ли показывать какую-либо функцию только тогда, когда (и если) она заработает? А вдруг окажется, что мы по каким-то причинам не сможем ее реализовать?

Предлагаю тебе еще раз обдумать эту часть предложения.

Мы считаем что плат со старой прошивкой не было у пользователя,

??? А с какими же прошивками тогда отгружались платы заказчику в прошлом году?

они все у нас

На данный момент, нет (если верить информации в БД изделий).

(или скоро будут у нас),

Вот это другое дело (если действительно будут). Подождем? :)

конфигураций у пользователей тоже нет, т.к. платы в эксплуатацию ещё не поставлялись.

Согласно информации в БД изделий, поставлялись.

comment:4 by san, 3 weeks ago

А вдруг окажется, что мы по каким-то причинам не сможем ее реализовать?
Предлагаю тебе еще раз обдумать эту часть предложения.

Я не против и спрятать пока от пользователя эти чекбоксы, оставлю на твоё усмотрение.

Год назад платы отгружена заказчику
Согласно информации в БД изделий, поставлялись.

4 платы были на испытаниях, испытания проведены, они вернутся

in reply to:  description ; comment:5 by alx, 3 weeks ago

Replying to san:

  1. При включенном чекбоксе "Режим переприема C37-E1" порта 1, настройки "Позиция TDM" портов 1 и 5 игнорируются (не проверяются конфликты и не отображается цветная строка на вкладке TDM).

Здесь слово "игнорируется" подразумевает исключительно указанное в скобках, или это полное игнорирование (значение параметров не записывается в плату)?

in reply to:  5 comment:6 by san, 3 weeks ago

Replying to alx:

Достаточно того что указано в скобках.

in reply to:  description comment:7 by alx, 3 weeks ago

Replying to san:

  1. При включенном чекбоксе "Режим переприема C37-E1" порта 1, настройки "Позиция TDM" портов 1 и 5 игнорируются (не проверяются конфликты и не отображается цветная строка на вкладке TDM). Аналогично при включенном чекбоксе "Режим переприема C37-E1" порта 1, настройки "Позиция TDM" портов 2 и 6 игнорируются.

Так как указанный чекбокс всегда включен, я принял решение просто убрать из диалога параметр "Позиция TDM" портов 1, 2, 5 и 6 чтобы ни у кого не возникало вопроса, при каких же условиях эти настройки доступны (и последующего вывода, что настройка просто не работает).

in reply to:  description comment:8 by alx, 3 weeks ago

Replying to san:

  1. Настройки "Число каналов C37-94" для портов 5 и 6 должна отсутствовать (у портов E1 нет такой настройки)

Вообще-то у портов 5 и 6 такая настройка есть, о чем ясно написано в файле, ссылку на который ты сам любезно указал. Однако в результате изменений п. 1 эта настройка никогда не действует, поэтому я ее удалил.

in reply to:  description comment:9 by alx, 3 weeks ago

Replying to san:

  1. Порты 3 и 4 платы пока не работают
  • 6.1 Нужно задизэйблить строки этих портов, поставить чекбокс заблокирован и в плату всегда записывать что порт заблокирован

А какой тогда смысл вообще отображать настройки, которыми никогда нельзя пользоваться?

Чтобы ни у кого не возникало вопросов, я просто уберу эти строки из диалога.

  • 6.2 Ячейки столбца "Состояние" для портов 3 и 4 отображать серым цветом.

Какой смысл в отображении состояния заведомо заблокированноых и заведомо не работающих портов (пусть даже серым цветом)?

comment:10 by alx, 3 weeks ago

Кстати, я не понял, почему из восьми портов в веб-интерфейсе отображается только шесть? Почему порты 7 и 8 не отображаются? Нет ли здесь ошибки?

in reply to:  description ; comment:11 by alx, 3 weeks ago

Replying to san:

  • 1.1 убрать взаимодействие интерфейса с переменными .10.0, .11.0

...

чекбокс "Режим переприема C37-E1" должен быть всегда установлен ... в плату всегда записывается установленное значение чекбокса.

...

  • 8.1 Настройки "Режим переприема C37-E1" теперь хранятся в другом месте - бит 3(порт 2) и бит 4(порт 1) байта 0 переменной .10.0.

Возникло противоречие: описание тикета одновременно предписывает веб-интерфейсу записывать в плату настройку, находящуюся в переменной .10.0 и не взаимодействовать с этой переменной. Прошу каким-то образом разрешить данное противоречие.

Last edited 3 weeks ago by alx (previous) (diff)

comment:12 by san, 3 weeks ago

Чтобы ни у кого не возникало вопросов, я просто уберу эти строки из диалога.

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

Last edited 3 weeks ago by san (previous) (diff)

in reply to:  11 ; comment:13 by san, 3 weeks ago

Replying to alx:

Replying to san:

  • 1.1 убрать взаимодействие интерфейса с переменными .10.0, .11.0

...

чекбокс "Режим переприема C37-E1" должен быть всегда установлен ... в плату всегда записывается установленное значение чекбокса.

...

  • 8.1 Настройки "Режим переприема C37-E1" теперь хранятся в другом месте - бит 3(порт 2) и бит 4(порт 1) байта 0 переменной .10.0.

Возникло противоречие: описание тикета одновременно предписывает веб-интерфейсу записывать в плату настройку, находящуюся в переменной .10.0 и не взаимодействовать с этой переменной. Прошу каким-то образом разрешить данное противоречие.

Это исторически возникшее противоречие)
Имеется ввиду, что нужно убрать старое "взаимодействие" с переменной и добавить новое.

in reply to:  12 comment:14 by san, 3 weeks ago

Replying to san:

Чтобы ни у кого не возникало вопросов, я просто уберу эти строки из диалога.

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

Хотя, нет, думаю и так сосчитают, удаляй :)

in reply to:  12 comment:15 by alx, 3 weeks ago

Replying to san:

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

О, разумный аргумент. Тогда я оставлю строки с номерами портов, а вместо всего остального напишу "порт не используется"...

in reply to:  13 comment:16 by alx, 3 weeks ago

Replying to san:

Имеется ввиду, что нужно убрать старое "взаимодействие" с переменной и добавить новое.

Понял. Спасибо за уточнение.

in reply to:  description comment:17 by alx, 3 weeks ago

Replying to san:

  • 8.2 В группу настроек "Синхронизация" нужно добавить новую настройку: "Источник" ... По умолчанию "Несинхронный".

За конфигурацию по умолчанию веб-интерфейс не отвечает.

in reply to:  description comment:18 by alx, 3 weeks ago

Replying to san:

Бит 6(порт 5) и бит 5(порт 6)

Такое соответствие портов 5 и 6 и битов 5 и 6 - это какие-то изощренное издевательство? :)

in reply to:  description ; comment:19 by alx, 3 weeks ago

Component: swweb-интерфейс (sw)

Replying to san:

В таблицу нужно добавить столбец "CRC-4" ... По умолчанию чекбокс снят.

Снова замечу, что веб-интерфейс за конфигурацию по умолчанию не отвечает. За нее отвечает бэкенд.

in reply to:  19 ; comment:20 by san, 3 weeks ago

Replying to alx:

Снова замечу, что веб-интерфейс за конфигурацию по умолчанию не отвечает. За нее отвечает бэкенд.

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

in reply to:  10 comment:21 by san, 3 weeks ago

Replying to alx:

Кстати, я не понял, почему из восьми портов в веб-интерфейсе отображается только шесть? Почему порты 7 и 8 не отображаются? Нет ли здесь ошибки?

Ошибки нет.
Восемь портов у платы имеется т.к. изначально ПО платы было сделано на основе E1-08 и разработчик просто не удалил лишние. У платы физически имеется 7 портов(4xC37.94+3xE1), но было принято решение на лицевой оставить только 6 портов, их мы и показываем пользователю в веб-интерфейсе.

in reply to:  20 ; comment:22 by alx, 3 weeks ago

Replying to san:

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

??? В каком смысле "не хочу"? Мне вообще-то в этом тикете никто трогать бэкенд не предлагал... Сейчас специально еще раз перечитал описание тикета, и вижу там только предложение изменить веб-интерфейс...

Если ты считаешь, что кроме веб-интерфейса требуется изменить что-то еще (о чем не написал в этом тикете), то, пожалуйста, сам создай новый тикет для бэкенда (или скорректируй этот, раз ты его автор, и этот тикет еще не закрыт, хотя я вроде бы уже все реализовал). Я не могу предлагать себе, как часто говорит один наш общий знакомый и коллега, "то, не знаю что" - лично меня и существующая конфигурация по умолчанию устраивает, у меня, вот честно-честно, никаких претензий к ней нет... :)

Last edited 3 weeks ago by alx (previous) (diff)

comment:23 by san, 3 weeks ago

Description: modified (diff)

in reply to:  22 ; comment:24 by san, 3 weeks ago

Replying to alx:

Если ты считаешь, что кроме веб-интерфейса требуется изменить что-то еще (о чем не написал в этом тикете), то, пожалуйста, сам создай новый тикет для бэкенда (или скорректируй этот, раз ты его автор, и этот тикет еще не закрыт, хотя я вроде бы уже все реализовал). Я не могу предлагать себе, как часто говорит один наш общий знакомый и коллега, "то, не знаю что" - лично меня и существующая конфигурация по умолчанию устраивает, у меня, вот честно-честно, никаких претензий к ней нет... :)

Скорректировал этот тикет, добавил слово бэкэнд.

in reply to:  24 comment:25 by alx, 3 weeks ago

Component: web-интерфейс (sw)sw

Replying to san:

Скорректировал этот тикет, добавил слово бэкэнд.

Ты едва успел :) - я уже закончил последние проверки и собирался закоммитить изменения и закрыть тикет... :)

in reply to:  description ; comment:26 by alx, 3 weeks ago

Replying to san:

  • 8.1 Настройки "Режим переприема C37-E1" теперь хранятся в другом месте - бит 3(порт 2) и бит 4(порт 1) байта 0 переменной .10.0.

Я сейчас обратил внимание, что выше про эти биты написано написано другое:

    [4] =1/0: порт C37_1 подключен к TDM/E1_1, порт E1_1 - к TDM/C37_1
    [3] =1/0: порт C37_2 подключен к TDM/E1_2, порт E1_2 - к TDM/C37_2

Нет ли здесь ошибки?

in reply to:  26 comment:27 by san, 3 weeks ago

Replying to alx:

8.1 Настройки "Режим переприема C37-E1" теперь хранятся в другом месте - бит 3(порт 2) и бит 4(порт 1) байта 0 переменной .10.0. Значение бита 0 - чекбокс установлен.

Нет ли здесь ошибки?

Давай проверим...
1 = "порт C37 подключен к TDM" (режим переприёма C37-E1 ВЫКЛ)
0 = "порт C37 подключен к E1" (режим переприёма C37-E1 ВКЛ)

Вроде бы всё правильно

comment:28 by alx, 3 weeks ago

Resolution: fixed
Status: newclosed

In 2724/sw:

Внесены изменения в настройки платы 4C-37:

  • Настройки "Режим переприема C37-E1" портов 1 и 2 теперь хранятся в битах 4 и 3 байта 0 переменной .10.0 соответственно.
  • Настройка "Плезиохронный поток" удалена из веб-интерфейса и всегда записывается в плату выключенной.
  • Настройка "Режим переприема C37-E1" портов 1 и 2 удалена из веб-интерфейса и всегда записывается в плату включенной.
  • Настройка "Позиция TDM" удалена из веб-интерфейса.
  • Настройка "Число каналов C37-94" портов 5 и 6 удалена из веб-интерфейса.
  • Порты 3 и 4 удалены из веб-интерфейса, настройка "Блокировка" этих портов в плату всегда записывается включенной.
  • Портам 1 и 2 добавлена настройка "CRC4".
  • В группу "Синхронизация" добавлена настройка "Источник".

Closes #857.

in reply to:  description comment:29 by alx, 3 weeks ago

Replying to san:

  • 8.3 В таблицу нужно добавить столбец "CRC-4" для портов 5 и 6

В последний момент я обнаружил, что вместо предложенного "CRC-4" я назвал столбец "CRC4". Следует ли исправить незвание столбца, или можно оставить так?

Version 0, edited 3 weeks ago by alx (next)

comment:30 by san, 3 weeks ago

Следует ли исправить название столбца, или можно оставить так?

Не страшно, можно оставить

in reply to:  30 comment:31 by alx, 3 weeks ago

Replying to san:

Не страшно, можно оставить

Хорошо. Я, кстати, почему-то считал, что это всегда пишется слитно, и сегодня с удивлением обнаружил, что в тексте первоисточника (стндарта ITU-T) написано "CRC-4"...

comment:32 by san, 3 weeks ago

(стндарта ITU-T) написано "CRC-4"

Я когда писал этот тикет, удивился аналогично)

Note: See TracTickets for help on using tickets.