roboforum.ru

Технический форум по робототехнике.

Контроллер ЧПУ/3Д принтера на STM32

Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 02 авг 2012, 22:15

некомпилитьс\я
gcc говорит нету
BUILD FAILED
Could not launch C:\CooCox\CoIDE\gcc\bin\arm-none-eabi-gcc:

и действительно, нету.
b ilt tuj ,hfnm&

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 02 авг 2012, 22:45


Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 02 авг 2012, 23:12

угу и там говорят что мол в текущей версии это непроизносимой проги с буквами "о" нету gcc в комплекте

Добавлено спустя 5 минут 39 секунд:
ну скачал я эту фиговину, ну указал путь
а она всё ранво говорит нету там gcc

Добавлено спустя 4 минуты 21 секунду:
фу блин, надо указать путь не на gcc а почему-то на папку в которой лежит всякая фигня в том числе и gcc
скачал yagarto
и указал путь вот такой: C:\Program Files\yagarto\bin

ладно теперь другая фиговина...
Код: Выделить всёРазвернуть
       [cc] 15 total files to be compiled.
       [cc] arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Wall -ffunction-sections -O0 -g -c -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -D__ASSEMBLY__ -DSTM32F100RB "-IC:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller" "-IC:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\cmsis" "-IC:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib" "-IC:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\inc" "-IC:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\cmsis_boot" '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\src\stm32f10x_tim.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\cmsis_boot\startup\startup_stm32f10x_md_vl.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\cmsis\core_cm3.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\cmsis_boot\system_stm32f10x.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\src\stm32f10x_gpio.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\main.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stdio\printf.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\src\stm32f10x_rcc.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\hrdw_cfg\hrdw_cfg.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\src\stm32f10x_exti.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\src\stm32f10x_usart.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\hrdw_cfg\isrs.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\syscalls\syscalls.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\src\stm32f10x_dma.c"' '"C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\stm_lib\src\misc.c"'
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\main.c: In function 'main':
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\main.c:12:11: warning: variable 'tim2' set but not used [-Wunused-but-set-variable]
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\main.c:12:17: warning: variable 'tim3' set but not used [-Wunused-but-set-variable]
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\main.c:12:23: warning: variable 'tim4' set but not used [-Wunused-but-set-variable]
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\hrdw_cfg\isrs.c: In function 'USART3_IRQHandler':
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\hrdw_cfg\isrs.c:11:3: warning: array subscript has type 'char' [-Wchar-subscripts]
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\hrdw_cfg\isrs.c:14:3: warning: array subscript has type 'char' [-Wchar-subscripts]
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\hrdw_cfg\isrs.c:11:3: warning: array subscript has type 'char' [-Wchar-subscripts]
       [cc] C:\Documents and Settings\User\Мои документы\GitHub\STM32_Servo_Controller\hrdw_cfg\isrs.c:14:3: warning: array subscript has type 'char' [-Wchar-subscripts]

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 03 авг 2012, 00:21

нуичо
это ворнинги
не бойсо

Добавлено спустя 31 минуту 19 секунд:
Товарищи великие программисты, есть ли возможность использовать часть чужого репозитория? В частности, Есть прошивка для репрапа Teacup. Там ИМХО толковый парсер G-кода. Я готов подогнать свою прошивку под полное использование нескольких файлов с этой прошивки (с тем прицелом, что если автор там что-то заапдейтит, то я в идеале всосу эти изменения вообще без усилий). Так вот можно ли так сделать и если да, то как? А то я начал уже адаптировать его парсеры, а вот сейчас сижу и думаю - правильно ли я делаю.

Добавлено спустя 4 минуты 39 секунд:
http://stackoverflow.com/questions/1593 ... -submodule

Добавлено спустя 31 секунду:
блин, нам нужен толковый тимлид

Re: Контроллер ЧПУ/3Д принтера на STM32

setar » 03 авг 2012, 09:30

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

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

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 03 авг 2012, 11:50

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

А тем временем вчера прикрутил парсер G-Code от Teacup к своему проекту, но с модификациями. Вроде даже парсит. Полностью не гонял еще.

Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 03 авг 2012, 21:08

всё
пришла плата :)
светодиод моргает

Добавлено спустя 36 минут 5 секунд:
вобщим ничо не работает
компилится, пытаюсь дебагить и оно говорит что The project specified in the launch configuration is not a C/C++ one.
и нфиига не делается.

Добавлено спустя 18 минут 11 секунд:
вашу мать
нельзя чужой проект открыть
надо создать свой и туда запихать всё из чужого проекта

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 04 авг 2012, 18:33

Поставил Repetier-Host (https://github.com/repetier/Repetier-Host/downloads), они общаются! :-)))

Добавлено спустя 3 часа 31 минуту 23 секунды:
Настроил ADC на автоматическую работу с несколькими каналами, DMA сама растаскивает результат по нужным переменным. Пока Repetier вместо температуры экструдера показывает температуру ядра камня :-)

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 05 авг 2012, 00:46

Блин, это вот как??????????

Код: Выделить всёРазвернуть
#undef DEFINE_TEMP_SENSOR
#define DEFINE_TEMP_SENSOR(name, type, pin, additional) TEMP_SENSOR_ ## name,
typedef enum {
   #include "config.h"
   NUM_TEMP_SENSORS,
   TEMP_SENSOR_none
} temp_sensor_t;
#undef DEFINE_TEMP_SENSOR


Добавлено спустя 28 секунд:
В смысле, что делает этот код и почему именно так?

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 05 авг 2012, 11:36

Только что дошло, что PWM всего 4 штуки... Т.е. если надо еще что-то шимить, то пролет.

Добавлено спустя 39 минут 2 секунды:
Github глюкнул. Не хочет чекаутить бранчи, провалил синк, говорит, что анкоммитед ченджес, выделил эти ченжес в отдельный бранч и ничего с ним не хоччет делать - ни публиковать, ни откатить. Че за лажа :-(((

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 05 авг 2012, 18:08

dccharacter писал(а):Блин, это вот как??????????

Код: Выделить всёРазвернуть
#undef DEFINE_TEMP_SENSOR
#define DEFINE_TEMP_SENSOR(name, type, pin, additional) TEMP_SENSOR_ ## name,
typedef enum {
   #include "config.h"
   NUM_TEMP_SENSORS,
   TEMP_SENSOR_none
} temp_sensor_t;
#undef DEFINE_TEMP_SENSOR


Добавлено спустя 28 секунд:
В смысле, что делает этот код и почему именно так?



Блин, я кажется понял. У него этот конфиг-файл вызывается из разных мест программы и фактически дописывает код по ходу компиляции. Жесть...

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 06 авг 2012, 01:22

Запилил опрос температурных датчиков с использованием функций Teacup
Но к главному подступиться не могу - к управлению движением. Кстати, похоже, даже этот талантливый чувак не до конца запилил контроль ускорением.

Ээээх, уже понятно, что с нуля мне такую штуку не поднять. Придется долго и муторно разбираться с его кодом. Ну хоть парсер работает и какой-никакой статус назад отдает Repetier-у

Добавлено спустя 1 минуту 8 секунд:
Вообще читаешь чужой код и очень грустно :-( Я дальше if-else ну и чуть-чуть прерываний с таймбейзами не ушел :-(((

Добавлено спустя 2 часа 32 минуты 33 секунды:
Добавлено спустя 16 минут 4 секунды:
Ммммм, чо-то страноое. В Repetier есть кнопка Stop Motor. Если ее нажать, отсылается команда M84
Читаем реп-рап вики:
M84: Stop idle hold
Example: M84
Stop the idle hold on all axis and extruder. In some cases the idle hold causes annoying noises, which can be stopped by disabling the hold. Be aware that by disabling idle hold during printing, you will get quality issues. This is recommended only in between or after printjobs.
В учебнике по G-кодам (forum81/topic11861.html) отсутствует. И кому верить?

Добавлено спустя 1 час 55 минут 54 секунды:
Таймбейзы от Teacup вычистил и отладил

Добавлено спустя 26 секунд:
И, кажется, менеджера очередей. Правда хрена с два пока проверишь.

Re: Контроллер ЧПУ/3Д принтера на STM32

setar » 06 авг 2012, 11:04

я бы ориентировался на вот эти коды, они ближе и стандартней к принтерам http://reprap.org/wiki/Gcode
а ещё лучше вот на эти, там много полезного добавлено но не стандартного :
https://github.com/ErikZalm/Marlin/blob ... Marlin.pde :

Код: Выделить всёРазвернуть
// look here for descriptions of gcodes: http://linuxcnc.org/handbook/gcode/g-code.html
// http://objects.reprap.org/wiki/Mendel_User_Manual:_RepRapGCodes

//Implemented Codes
//-------------------
// G0  -> G1
// G1  - Coordinated Movement X Y Z E
// G2  - CW ARC
// G3  - CCW ARC
// G4  - Dwell S<seconds> or P<milliseconds>
// G10 - retract filament according to settings of M207
// G11 - retract recover filament according to settings of M208
// G28 - Home all Axis
// G90 - Use Absolute Coordinates
// G91 - Use Relative Coordinates
// G92 - Set current position to cordinates given

//RepRap M Codes
// M0   - Unconditional stop - Wait for user to press a button on the LCD (Only if ULTRA_LCD is enabled)
// M1   - Same as M0
// M104 - Set extruder target temp
// M105 - Read current temp
// M106 - Fan on
// M107 - Fan off
// M109 - Wait for extruder current temp to reach target temp.
// M114 - Display current position

//Custom M Codes
// M17  - Enable/Power all stepper motors
// M18  - Disable all stepper motors; same as M84
// M20  - List SD card
// M21  - Init SD card
// M22  - Release SD card
// M23  - Select SD file (M23 filename.g)
// M24  - Start/resume SD print
// M25  - Pause SD print
// M26  - Set SD position in bytes (M26 S12345)
// M27  - Report SD print status
// M28  - Start SD write (M28 filename.g)
// M29  - Stop SD write
// M30  - Delete file from SD (M30 filename.g)
// M31  - Output time since last M109 or SD card start to serial
// M42  - Change pin status via gcode
// M80  - Turn on Power Supply
// M81  - Turn off Power Supply
// M82  - Set E codes absolute (default)
// M83  - Set E codes relative while in Absolute Coordinates (G90) mode
// M84  - Disable steppers until next move,
//        or use S<seconds> to specify an inactivity timeout, after which the steppers will be disabled.  S0 to disable the timeout.
// M85  - Set inactivity shutdown timer with parameter S<seconds>. To disable set zero (default)
// M92  - Set axis_steps_per_unit - same syntax as G92
// M114 - Output current position to serial port
// M115   - Capabilities string
// M117 - display message
// M119 - Output Endstop status to serial port
// M140 - Set bed target temp
// M190 - Wait for bed current temp to reach target temp.
// M200 - Set filament diameter
// M201 - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
// M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!
// M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
// M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) im mm/sec^2  also sets minimum segment time in ms (B20000) to prevent buffer underruns and M20 minimum feedrate
// M205 -  advanced settings:  minimum travel speed S=while printing T=travel only,  B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
// M206 - set additional homeing offset
// M207 - set retract length S[positive mm] F[feedrate mm/sec] Z[additional zlift/hop]
// M208 - set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec]
// M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
// M220 S<factor in percent>- set speed factor override percentage
// M221 S<factor in percent>- set extrude factor override percentage
// M240 - Trigger a camera to take a photograph
// M301 - Set PID parameters P I and D
// M302 - Allow cold extrudes
// M303 - PID relay autotune S<temperature> sets the target temperature. (default target temperature = 150C)
// M400 - Finish all moves
// M500 - stores paramters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). 
// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
// M503 - print the current settings (from memory not from eeprom)
// M999 - Restart after being stopped by error

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 06 авг 2012, 21:31

Мда, надо поаккуратнее с STM MicroExplorer работать - там очень простая логика конфликтов и из-за этого я немножко сначала расстроился. Ситуация на сегодня - 3 энкодера и 8 PWM каналов (с 4-мя независимыми тайм-бейзами).
Ну или 4 энкодера и 4 ШИМ

Добавлено спустя 1 минуту 7 секунд:
А я вам говорил, что мне STM32 нравится?

Добавлено спустя 32 минуты 57 секунд:
Мур, я как на контроль перемещения гляну, мне плохеет. Мож ты гениальный программист и с этим разберешься?

Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 06 авг 2012, 23:03

я пока что разбираюсь как мигать светиками и как дебагером пользоваться =)
дебагер что-то никак мне не поддаётся.

Добавлено спустя 25 минут 38 секунд:
эта байда с кошатской мордой синхронизирует всё, вплоть до настроек прошивки, стирать всю память или только нужный фрагмент.
и хвосты от твоего проекта везде появились. у меня всё скомпилилось с моими адресами и гитхаб думает что это я исходники изменил и требует закомитить build.xml debug.config и ещё что-то там.


Rambler\'s Top100 Mail.ru counter