Aller au contenu

Acheter Bambu Lab A1

[Dev] AlfaWise U20x-U30 : Marlin 2.x (firmware alternatif)


CacaoTor

Messages recommandés

Meme modele, sur l'avant C2 au lieu de C1. Question, le nettoyage a alcool c'etait avant les tests, ou apres? 

Lien vers le commentaire
Partager sur d’autres sites

Victoire ! Ça fonctionne chez moi. Touch Screen OK

On faisait complètement fausse route.

Il est bien nécessaire d'utiliser le SPI

/**
 * Marlin 3D Printer Firmware
 * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
 *
 * Based on Sprinter and grbl.
 * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */
#pragma once

#include "HAL.h"
#include "../../lcd/ultralcd.h"

// We rely on XPT2046 compatible mode to ADS7843, hence no Z1 and Z2 measurements possible. 

#define XPT2046_DFR_MODE        0x00
#define XPT2046_SER_MODE        0x04
#define XPT2046_CONTROL         0x80

#define XPT2046_X               0x10
#define XPT2046_Y               0x50

#define TP_CS2  PB12
#define TP_INT  PC6

// the 3 defines below are needed for the sw_SPI function

#define TP_SCK  PB13
#define TP_MISO PB15
#define TP_MOSI PB14

uint16_t getInTouch(uint8_t coordinate);
uint8_t xpt2046_read_buttons();
void touch_swSPI_init(void);
Modifié (le) par CacaoTor
Lien vers le commentaire
Partager sur d’autres sites

il y a 19 minutes, Crzay a dit :

en tatonnant  un peu en dehors de la croix j'ai réussi j'obtient ça:

X_CAL: 12451

Y_CAL: -8166

X_OFFSET: -43

Y_OFFSET: 242

 

on verra  ce que ça donne ...

Test avec la modif de xpt2046.h avec le firmware complet.

Il faudra mettre un peu de propre dans les codes.

Modifié (le) par CacaoTor
Lien vers le commentaire
Partager sur d’autres sites

il y a 41 minutes, CacaoTor a dit :

Victoire ! Ça fonctionne chez moi. Touch Screen OK

On faisait complètement fausse route.

Il est bien nécessaire d'utiliser le SPI


/**
 * Marlin 3D Printer Firmware
 * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
 *
 * Based on Sprinter and grbl.
 * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */
#pragma once

#include "HAL.h"
#include "../../lcd/ultralcd.h"

// We rely on XPT2046 compatible mode to ADS7843, hence no Z1 and Z2 measurements possible. 

#define XPT2046_DFR_MODE        0x00
#define XPT2046_SER_MODE        0x04
#define XPT2046_CONTROL         0x80

#define XPT2046_X               0x10
#define XPT2046_Y               0x50

#define TP_CS2  PB12
#define TP_INT  PC6

// the 3 defines below are needed for the sw_SPI function

#define TP_SCK  PB13
#define TP_MISO PB15
#define TP_MOSI PB14

uint16_t getInTouch(uint8_t coordinate);
uint8_t xpt2046_read_buttons();
void touch_swSPI_init(void);

Je réponds depuis mon tel. On utilise le spi oui, mais avec un morceau de soft car les pins mosi et miso ont été inversées par le concepteur de la carte du coup on peut pas utiliser le bloc hw du stm 32. Comme le touch est pas touché souvent cela n à absolument auncun impact de perfs. 

Mais je comprends pas bien ta remarque...

Lien vers le commentaire
Partager sur d’autres sites

il y a 18 minutes, Hobi a dit :

Je réponds depuis mon tel. On utilise le spi oui, mais avec un morceau de soft car les pins mosi et miso ont été inversées par le concepteur de la carte du coup on peut pas utiliser le bloc hw du stm 32. Comme le touch est pas touché souvent cela n à absolument auncun impact de perfs. 

Mais je comprends pas bien ta remarque...

Autant pour moi ! J'ai mélangé deux sujets que je traite en même temps. Et j'avais un delta de code entre celui que je bricolais et les derniers que tu as uploadé... Ma calibration est bien la bonne, et le touch marche nickel.

Mes fichiers à jour et fonctionnels en PJ.

xpt2046.cpp xpt2046.h Configuration.h

Lien vers le commentaire
Partager sur d’autres sites

Keep on the good job!

 

concernant le port usb vous pensez que ça risque d'être difficile ou simple, juste une question de temps ou joker ?

je pose la question qui tue car c'est super important pour moi l'usb car j'utilise octoprint que j'adore 

Lien vers le commentaire
Partager sur d’autres sites

@Oniric

fepuis le début on fait tourner la bête avec octoprint! Donc : DONE!

Modifié (le) par Hobi
Lien vers le commentaire
Partager sur d’autres sites

Oui, je viens de recompiler, le touch est ok ici, ILI aussi. meme genre de valeurs que toi... 12k -9031 -45 259

Y'a que le fan 4mm qui semble ON tout le temps, le menu LED qui semble inutile (pour RGB ?)

et un truc qui me dérange, le move axis X permet des valeurs négatives et ignore le X min. Les fleches sont pas trop logiques sur le touchscreen 😛

Lien vers le commentaire
Partager sur d’autres sites

@Epsylon3 même problème le fan est toujours on et j ai aussi un problème avec les flèches du touch comme toi. 

 

J ai une petite idée pour les deux. Prochaine séance debug  lundi soir pour moi. 

Lien vers le commentaire
Partager sur d’autres sites

il y a 10 minutes, Hobi a dit :

@Oniric

fepuis le début on fait tourner la bête avec octoprint! Donc : DONE!

Aaaah ! Ça me rassure ! 

Des que je reçois mon ST-Link et que les sources sont dispo je flash!

Lien vers le commentaire
Partager sur d’autres sites

Juste pour confirmer, le debug serial c'est bien l'USB ou y'a un port série "caché" dans le STLink ?

Ca me fait penser que la carte a un deuxieme port série sans broches soudées, (mais dispo sur la carte)

Modifié (le) par Epsylon3
Lien vers le commentaire
Partager sur d’autres sites

Le Port série 1 du st23 est branche sur un convertisseur usb . Le st link passe par d autres broches et en plus il y a effectivement un deuxième port série digital/ ttl 

Lien vers le commentaire
Partager sur d’autres sites

il y a 16 minutes, Epsylon3 a dit :

la sortie fan 4cm est "analogique" PA15, apres a voir si c'est du PWM ou voltage variable pour controler le mosfet

Ahhh un bon coup d oscilloscope.... 

Lien vers le commentaire
Partager sur d’autres sites

apres ce PA15 semble aussi utilisé pour le stlink, d'apres le pdf alfawise... j'ai pas trop cherché pour le moment 😛

C'est pt pour autre chose, ou indiquer qu'ils sont utilisé en In et Out ? je sais pas 😛

image.png.075402b1f0ecbf50dfec08c7c086b98d.png

Modifié (le) par Epsylon3
Lien vers le commentaire
Partager sur d’autres sites

Ahh ca j en étais sur. Va dans config.h et trouve l endroit ou inverser la polarité . J ai du faire ça pour le limites x y et z. Je ne l avais pas fait pour le filament .... 

Lien vers le commentaire
Partager sur d’autres sites

il y a 21 minutes, Epsylon3 a dit :

apres ce PA15 semble aussi utilisé pour le stlink, d'apres le pdf alfawise... j'ai pas trop cherché pour le moment 😛

C'est pt pour autre chose, ou indiquer qu'ils sont utilisé en In et Out ? je sais pas 😛

image.png.075402b1f0ecbf50dfec08c7c086b98d.png

Encore une piste de recherche! J avais supprimé le jtag et juste garde le st link pour debugger. Si c est effectivement un problème > faudra souder un fil sur boot0 pour continuer à flasher 

Lien vers le commentaire
Partager sur d’autres sites

oui, c'est pt le JTAG... mais perso j'ai jamais utilisé ce systeme..

j'ai tenté de commenter XMAX, mais ca ne change rien... Peut etre que la valeur du contact est inversée.. Je vais checker tout ca cette nuit

Lien vers le commentaire
Partager sur d’autres sites

yep, c'est bien le jtag... et un "Timer" aussi on dirait pour la sortie PWM, peut etre pas un DAC en fait

image.png.f1205a665e28cc78c45308a5dd8c84a8.png

Citation

General-purpose timers (TIMx) There are up to 4 synchronizable general-purpose timers (TIM2, TIM3, TIM4 and TIM5) embedded in the STM32F103xC, STM32F103xD and STM32F103xE performance line devices. These timers are based on a 16-bit auto-reload up/down counter, a 16-bit prescaler and feature 4 independent channels each for input capture/output compare, PWM or onepulse mode output. This gives up to 16 input captures / output compares / PWMs on the largest packages.

The general-purpose timers can work together with the advanced-control timer via the Timer Link feature for synchronization or event chaining. Their counter can be frozen in debug mode. Any of the general-purpose timers can be used to generate PWM outputs.

They all have independent DMA request generation. These timers are capable of handling quadrature (incremental) encoder signals and the digital outputs from 1 to 3 hall-effect sensors.

Modifié (le) par Epsylon3
PWM
Lien vers le commentaire
Partager sur d’autres sites

@epsylon3 > JTAG , on s'en fout. Je l'ai enleve de la config, mais j'ai garde le ST Link pour pouvoir telecharger et debugger. L'erreur est ailleurs.

 

Pour le filament sensor :

Config.h, ligne 995 : Remplace false par True, et ca va le faire! 

 

#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
 
 
Lien vers le commentaire
Partager sur d’autres sites

@Epsylon3

Pas besoin de pull up dans la puce, on a des vraies! C'est connecte sur limi X max.. et y'a bien une pull up. 

 

#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
#define FIL_RUNOUT_INVERTING true // set to true to invert the logic of the sensor.
//#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
#define FILAMENT_RUNOUT_SCRIPT "M600"
 
Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...