@telecatethysis

Страница 2492 из 5118
Anastasia
06.02.2018
12:28:21
я доказала

Андрій
06.02.2018
12:28:40
ты жмахаешь Tools->Design Rule Check?

или полагаешься на интерактивный?

я ему уже давно не доверяю))

Google
Roman
06.02.2018
12:30:48
@KamiNeko I2C у меня свой, мало чем отличается от HAL

i2c_write

John
06.02.2018
12:31:27
i2c_write
оно где-то там описано

Roman
06.02.2018
12:31:30
-указатель на данные -количество байт -адрес слейва

замени на свою от HAL

Андрій
06.02.2018
12:31:54
а вот западло когда непрорисованный нет совпадает с сеткой)) было такое пару раз, чуть не пропустил. пожтому всегда в конце делают DRC вручную

рул чек тоже молчит
вот это странно

Anastasia
06.02.2018
12:32:56
вот это странно
он только на маску ругается, окаянный, а неты не видит, я даже специально еще поудаляла

John
06.02.2018
12:34:02
-указатель на данные -количество байт -адрес слейва
если слать первый байт 0x40, то остальные же пакетом можно вслед затолкнуть, правильно?

Google
John
06.02.2018
12:34:30
замени на свою от HAL
в моей либе с HAL есть вот такое HAL_I2C_Master_Transmit_DMA(&hi2c1, address, data, count);

Anastasia
06.02.2018
12:34:32
вот это странно
теперь нужно ребят заставить проверить в 18м)

John
06.02.2018
12:36:55
ладно. пока что мы остановимся на том, что у других всё работает, а у меня не работает, потому что я тупой, других объяснений пока нет, я так понимаю.

как удобно :)

Anastasia
06.02.2018
12:37:33
Крч, человечина с форума спасла пол дня моей жизни, http://www.altium.com/documentation/3.0/display/VAULT/Altium+Vault+-+Details+for+IT+Departments вольт не сдох, но хз почему перестал откликаться на локальный айпи, а если прописать localhost:9780 то все ок)

как удобно :)
а ну не ной, тыжмужик

John
06.02.2018
12:38:06
а ну не ной, тыжмужик
это сарказм тащемта. просто интонации не слышно ?

Андрій
06.02.2018
12:38:50


вот такое выдает?

Anastasia
06.02.2018
12:39:53
Андрій
06.02.2018
12:40:48
кароч это из-за твоих хитрых полукруглых полигонов

Anastasia
06.02.2018
12:41:03
так в другой плате тоже такое есть

k
06.02.2018
12:41:58
область хала связанная с и2ц напоминает минное поле, многое освещено в эрратах

John
06.02.2018
12:44:56
помимо того что ты тупой, ты говорил что логанализатором не видно инициированой дма транзакции?
вот не пойму, это ты щас меня именно обозвал тупым, или просто меня же процитировал?

фукнция ничего не отправляет по i2c

k
06.02.2018
12:45:20
?

ввернул свои пять копеек в твою лирику

Андрій
06.02.2018
12:45:45
так в другой плате тоже такое есть
http://www.altium.com/documentation/18.0/display/ADES/PCB_Cmd-ShelvePolygons((ShelvePolygons))_AD

John
06.02.2018
12:45:51
функция которая должна DMA жарить

Google
k
06.02.2018
12:45:59
тупость логанализатором не посмотришь, а вот шину с дма настроить мог бы

John
06.02.2018
12:46:31
ну вот обратно до компа доберусь, тогда можно будет мучать железки дальше

k
06.02.2018
12:46:42
I2cHandle.Instance = I2Cx; I2cHandle.Init.Timing = I2Cx_TIMING; // 50 KHz; I2cHandle.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; I2cHandle.Init.DualAddressMode = I2C_DUALADDRESS_DISABLED; I2cHandle.Init.GeneralCallMode = I2C_GENERALCALL_DISABLED; I2cHandle.Init.NoStretchMode = I2C_NOSTRETCH_ENABLED; I2cHandle.Init.OwnAddress1 = I2Cx_SLAVE_ADDRESS; I2cHandle.Init.OwnAddress2 = 0xFF; I2cHandle.Init.OwnAddress2Masks = I2C_OA2_NOMASK; @endcode */ void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c) { GPIO_InitTypeDef GPIO_InitStruct; static DMA_HandleTypeDef hdma_tx; static DMA_HandleTypeDef hdma_rx; // RCC_PeriphCLKInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2Cx; // RCC_PeriphCLKInitStruct.I2c2ClockSelection = RCC_I2CxCLKSOURCE_SYSCLK; // HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphCLKInitStruct); /*##-2- Enable peripherals and GPIO Clocks #################################*/ /* Enable GPIO TX/RX clock */ I2Cx_SCL_GPIO_CLK_ENABLE(); I2Cx_SDA_GPIO_CLK_ENABLE(); /* Enable I2Cx clock */ I2Cx_CLK_ENABLE(); /* Enable DMAx clock */ I2Cx_DMA_CLK_ENABLE(); /*##-3- Configure peripheral GPIO ##########################################*/ /* I2C TX GPIO pin configuration */ GPIO_InitStruct.Pin = I2Cx_SCL_PIN; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; GPIO_InitStruct.Pull = GPIO_NOPULL; //GPIO_PULLUP; //GPIO_NOPULL; //GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_InitStruct.Alternate = I2Cx_SCL_SDA_AF; HAL_GPIO_Init(I2Cx_SCL_GPIO_PORT, &GPIO_InitStruct); /* I2C RX GPIO pin configuration */ GPIO_InitStruct.Pin = I2Cx_SDA_PIN; GPIO_InitStruct.Alternate = I2Cx_SCL_SDA_AF; HAL_GPIO_Init(I2Cx_SDA_GPIO_PORT, &GPIO_InitStruct); /*##-4- Configure the DMA channels ##########################################*/ /* Configure the DMA handler for Transmission process */ hdma_tx.Instance = I2Cx_DMA_CHANNEL_TX; hdma_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; hdma_tx.Init.PeriphInc = DMA_PINC_DISABLE; hdma_tx.Init.MemInc = DMA_MINC_ENABLE; hdma_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; hdma_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; hdma_tx.Init.Mode = DMA_NORMAL; hdma_tx.Init.Priority = DMA_PRIORITY_LOW; HAL_DMA_Init(&hdma_tx); /* Associate the initialized DMA handle to the the I2C handle */ __HAL_LINKDMA(hi2c, hdmatx, hdma_tx); /* Configure the DMA handler for Transmission process */ hdma_rx.Instance = I2Cx_DMA_CHANNEL_RX; hdma_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; hdma_rx.Init.PeriphInc = DMA_PINC_DISABLE; hdma_rx.Init.MemInc = DMA_MINC_ENABLE; hdma_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; hdma_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; hdma_rx.Init.Mode = DMA_NORMAL; hdma_rx.Init.Priority = DMA_PRIORITY_HIGH; HAL_DMA_Init(&hdma_rx); /* Associate the initialized DMA handle to the the I2C handle */ __HAL_LINKDMA(hi2c, hdmarx, hdma_rx); /*##-5- Configure the NVIC for DMA #########################################*/ /* NVIC configuration for DMA transfer complete interrupt (I2Cx_TX) */ HAL_NVIC_SetPriority(I2Cx_DMA_TX_IRQn, I2C_LVL, I2C_PRI); HAL_NVIC_EnableIRQ(I2Cx_DMA_TX_IRQn); /* NVIC configuration for DMA transfer complete interrupt (I2Cx_RX) */ HAL_NVIC_SetPriority(I2Cx_DMA_RX_IRQn, I2C_LVL, I2C_PRI); HAL_NVIC_EnableIRQ(I2Cx_DMA_RX_IRQn); HAL_NVIC_SetPriority(I2Cx_ER_IRQn, I2C_LVL, I2C_PRI); HAL_NVIC_EnableIRQ(I2Cx_ER_IRQn); HAL_NVIC_SetPriority(I2Cx_EV_IRQn, I2C_LVL, I2C_PRI); HAL_NVIC_EnableIRQ(I2Cx_EV_IRQn); }

/ * @brief Деинициализация аппаратных ресурсов I2C * @param *hi2c - указатель на структуру драйвера I2C */ void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c) { /*##-1- Reset peripherals ##################################################*/ I2Cx_FORCE_RESET(); I2Cx_RELEASE_RESET(); /*##-2- Disable peripherals and GPIO Clocks #################################*/ /* Configure I2C Tx as alternate function */ HAL_GPIO_DeInit(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_PIN); /* Configure I2C Rx as alternate function */ HAL_GPIO_DeInit(I2Cx_SDA_GPIO_PORT, I2Cx_SDA_PIN); /*##-3- Disable the NVIC for I2C ##########################################*/ HAL_NVIC_DisableIRQ(I2Cx_ER_IRQn); HAL_NVIC_DisableIRQ(I2Cx_EV_IRQn); } / * @brief Инициализация интерфейса I2C */ void I2C_INIT( void ) { I2cHandle.Instance = I2Cx; I2cHandle.Init.Timing = I2Cx_TIMING; // 50000 KHz; I2cHandle.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; I2cHandle.Init.DualAddressMode = I2C_DUALADDRESS_DISABLED; I2cHandle.Init.GeneralCallMode = I2C_GENERALCALL_DISABLED; I2cHandle.Init.NoStretchMode = I2C_NOSTRETCH_ENABLED; I2cHandle.Init.OwnAddress1 = I2Cx_SLAVE_ADDRESS; I2cHandle.Init.OwnAddress2 = 0xFF; I2cHandle.Init.OwnAddress2Masks = I2C_OA2_NOMASK; HAL_I2C_Init(&I2cHandle); //HAL_I2CEx_AnalogFilter_Config(&I2cHandle, I2C_ANALOGFILTER_ENABLED); }

чот такое должно быть

John
06.02.2018
12:47:32
билят как многабукаф, со смарта неудобно >_<

k
06.02.2018
12:48:01
доберешься сверь

John
06.02.2018
12:49:46
кстати, ты это из откуда выковырял?

Anastasia
06.02.2018
12:54:00
http://www.altium.com/documentation/18.0/display/ADES/PCB_Cmd-ShelvePolygons((ShelvePolygons))_AD
тааак, вы там мне с обеих сторон пишите, падаждите)

Андрій
06.02.2018
12:54:48
@IAnotherRealityI сделай, плз, Tools->Polygon Pours->Restore 1 shelved polygon

и там жмахни leave as is

Anastasia
06.02.2018
13:01:48
@IAnotherRealityI сделай, плз, Tools->Polygon Pours->Restore 1 shelved polygon
Меня уже потыкал Кирил) спасибо, щас уточню где еще такой баг нашел клиент

Kirill
06.02.2018
13:02:51
Вообще там интересный глюк, в плане что после скрытия полигона остается он как бы нивидимый, но если полегон восстановить и опять скрыть то все уже нормально.

Anastasia
06.02.2018
13:03:18
ну облажалась

но баг то есть

k
06.02.2018
13:06:45
кстати, ты это из откуда выковырял?
Из бутлоадера одного из проектов



Андрій
06.02.2018
13:09:17
John
06.02.2018
13:11:57
Из бутлоадера одного из проектов
короче говоря, должно быть в инитах явно прописано, что дма ассоциировано с тх и2с, правильно?

Roman
06.02.2018
13:15:34
Снова вонючий HAL ?

Google
Valentin
06.02.2018
13:17:12
Бльо, ну кто код скидывает сообщениями(

Anastasia
06.02.2018
13:24:44
инспектор говорит что не хватает 0.027мм)))

спасибо блин)

там две идентичные микросхемы с обеих сторон

но если присмотрееееться



там маленькая штучка

спасибо, блин, альтиум, заботливый ты наш

это не мой проект

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

я няшка

Valentin
06.02.2018
13:46:58
https://www.youtube.com/watch?v=s-MKhffuPzM #SDR

k
06.02.2018
13:52:29
короче говоря, должно быть в инитах явно прописано, что дма ассоциировано с тх и2с, правильно?
все должно быть явно. ес генеришь кубиком - найди два файла в которые он тайком высрал настройки и проверь логику. хал замечательная либа, но сцуко юзать ее может тот кто сам ее мог бы написать.

и да, в зависимости от версии хала забыты те или иные иниты, это норма

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

итог - дописывание включения клоков в иниты

и всякая такая чепушня

John
06.02.2018
13:56:20
надо проверить, как у меня с инитами в том проекте с рабочим дма

Google
k
06.02.2018
13:56:20
кодеры хала честно пытались найти нечто общее что можно генерить массивом, но увы

проверь тактируется ли он, сцепился ли он с и2ц структурой, что делает дма трансмит внутри потрохов и что возвращает

обычный дебаг

90% кодинга это дебаг либ

John
06.02.2018
13:58:31
ыыы

k
06.02.2018
13:58:40
потому что всё написано до нас. тока криво

ещё 10% кодинга это осмысление того совпадает ли задача для которой создана либа с твоей, ага

вызовы функций хала я за кодинг не считаю

Roman
06.02.2018
13:59:53
По-моему половина кодинга - это размышление

k
06.02.2018
13:59:53
а алгоритмы поумнее обычно не в мк а в компе уже

По-моему половина кодинга - это размышление
размышлять желательно постоянно, енто то понятное дело

аналитическое тупление

Roman
06.02.2018
14:00:55
Ну нанизать поверх программный код поверх хорошо продуманного алгоритма - дело техники

k
06.02.2018
14:01:23
да, и я именно это дело техники ща по времени разделил

на подбор либ и их дебаг

Roman
06.02.2018
14:01:53
Тоже верно

k
06.02.2018
14:03:16
в биокаде вон судя по слухам питонопрограммисты так сильны что кодеры мк просто кидают им сырые снятые данные и принимают назад команды на выводы. мк - тонкие клиенты для питона на компах

Страница 2492 из 5118