Ganz neu und schon das erste große problem

  • Hey, ich bin Alex, 43 aus Hamburg


    ich hab mir vor 2 Wochen spontan ein Swiitol c18pro zugelegt.

    Gleich ein wenig ausprobiert, sehr begeistert gewesen und sofort versucht den per App zu steuern.


    Das war mit der dazugehörigen App nicht möglich.. Verbindung klappte aber nach der Übermittlung der NC brach die App ab.


    Darauf hin hab ich versucht die Daten des Boards, wegen eventuellen Updates, zu ermitteln und hab festgestellt das es von


    AtomStack das yz LaserBox v1.0 bestückt mit einem esp32-s3-wroom ist.


    Also bei Atomstack nach einem Update geguckt, festgestellt das die auch baugleich aussehen. Also den updater runtergeladen und das Board geflasht. Sah auch soweit alles gut aus, aber nach einem reset war keine Kommunikation mehr möglich. Weder über USB noch WLAN. Mit esp32 und esp-01 beschäftige ich mich schon eine ganze weile, also hab ich das Netz nach CNC Board Firmwares durchforstet, dabei einiges interessantes wie fluidNC gefunden, aber keine vorkompelierte .bin Datei für den esp32-S3.

    Ich hab dann zwar Mal wieder versucht mit arduino klarzukommen, aber irgendwie komm ich damit nicht vorran.


    Also meine Frage, und Grund meines Besuches;


    hat jemand von euch eine grbl Firmware für den esp32-S3-wroom-1u?


    Also Atomstack oder die von Swiitool oder eine fertige fluidNC Firmware


    Ich wäre super dankbar!


    Vielen Dank für die Aufnahme und frohes lasern


    Alex

  • Also Atomstack oder die von Swiitool oder eine fertige fluidNC Firmware

    Also ich hätte hier eine funktionierende Konfiguration für das LaserBox 1.0 Board, das in einem Atomstack S20 drin war: https://diode-laser-wiki.com/d…mstack-a-x-s20-pro-laser/


    FluidNC selbst kriegst du nicht direkt als Binary, da kannst du entweder den neuen Webinstaller nehmen (der funktioniert bei mir aber nicht) oder das Release-Archiv aus dem GitHub, da ist eine Batch-Datei drin, die den Upload macht. Das funktioniert bei mir immer zuverlässig.

    ---------

    Laser: Sculpfun S6 Pro bis A9 40W (alle Modelle/Module)

    3D-Drucker: Creality CR-10, Geeetech i3

    CNC: NoName 3018, TwoTrees TTC450

  • Moin, danke danke danke. Die nehmen ich gerne. Und auch danke für die endlich kompetente ntwort. Inzwischen hab ich mir die Mühe gemacht und das mit vs Code nochmal erfolgreich probiert. Das mit den Webinstaller und dem Batch Installationen funktionierte irgendwie nicht.


    Z.z. läuft: FluidNG auf esp-s3 mit 8mb und WLan


    Allerdings hab ich noch nicht die richtige Konfigurations einstellung gefunden.


    Aber das was du da hast, scheint ja alles zu sein was ich brauche.


    Danke

  • Das war mit der dazugehörigen App nicht möglich.. Verbindung klappte aber nach der Übermittlung der NC brach die App ab.

    Da würde ich als erstes mal das Probelm bei der schrottigen App vermuten, oder bei der fragilen Internetverbindung über unbekannte Server.

    Gruß,

    Christian


    „Der größte Feind des Wissens ist nicht Unwissenheit, sondern die Illusion, wissend zu sein.“

    Stephen Hawking

  • Allerdings hab ich noch nicht die richtige Konfigurations einstellung gefunden.

    Die legt man bei Fluid ja als Konfigurationsdatei an. Die kannst du oben bei meinem Link für das Board runterladen. Danach musst du die Datei per Webinterface oder mit dem FluidTerm-Tool hochladen und neu starten. Dann ist die Konfiguration übernommen.

    ---------

    Laser: Sculpfun S6 Pro bis A9 40W (alle Modelle/Module)

    3D-Drucker: Creality CR-10, Geeetech i3

    CNC: NoName 3018, TwoTrees TTC450

  • Ich Check auch nicht so ganz wo ich bei FluidNC die gpio einstellen oder zumindest einsehen kann.

    Davon rede ich die ganze Zeit :) Bei Fluid geht das weder im Webinterface, noch im Code oder so. Du erstellst eine Config-Datei, die lädst du in das root-Verzeichnis und da steht alles drin. (Eventuell mal hier schlau machen: http://wiki.fluidnc.com/en/config/overview) Und die Config ist oben auf der Seite verlinkt. Hier noch einmal zum rauskopieren:


    ---------

    Laser: Sculpfun S6 Pro bis A9 40W (alle Modelle/Module)

    3D-Drucker: Creality CR-10, Geeetech i3

    CNC: NoName 3018, TwoTrees TTC450

  • Ich bekomm denn bei aller4 liebe nicht bewegt, weder mit den Atomstack Einstellungen noch mit den Standart FluidNC Werten. noch Irgendwas dazwischen, ich hab das Gefühl das das noch nicht so rund ist mit dem ESP32-S3 Die Config wird mir auch nur per Konsole angezeigt und nicht im Webtool. Es sind aufgrund der Nativen 2ten usb Schnittstelle irgendwas anders. und ich glaub auch, das ist für airassit vorbereitet mit ner mini Hohl Stecker Buchse. Ja Schade auch das weder Swiitool noch Atomstack.com oder Atomstag.org auf irgendwelche Mails geantwortet haben.



    Das ist meine Aktuelle


    board: XY LaserBox ESP32 V1.0

    name: Swiitol C18pro

    meta: edited 05/04/2024 (03/09/2024) M. Isken / diode-laser-wiki.com


    arc_tolerance_mm: 0.002

    junction_deviation_mm: 0.01

    verbose_errors: false

    report_inches: false


    start:

    must_home: false

    deactivate_parking: true

    check_limits: false


    stepping:

    engine: I2S_STATIC

    idle_ms: 250

    pulse_us: 4

    dir_delay_us: 0

    disable_delay_us: 0

    segments: 12


    axes:

    shared_stepper_disable_pin: I2SO.0

    shared_stepper_reset_pin: NO_PIN


    x:

    steps_per_mm: 80.000

    max_rate_mm_per_min: 6000.000

    acceleration_mm_per_sec2: 1000.000

    max_travel_mm: 400.000

    soft_limits: true

    homing:

    cycle: 1

    allow_single_axis: true

    positive_direction: false

    mpos_mm: 0.000

    feed_mm_per_min: 150.000

    seek_mm_per_min: 2000.000

    settle_ms: 250

    seek_scaler: 1.100

    feed_scaler: 1.100


    motor0:

    limit_neg_pin: gpio.36:low

    limit_pos_pin: NO_PIN

    limit_all_pin: NO_PIN

    hard_limits: true

    pulloff_mm: 1.000

    stepstick:

    step_pin: I2SO.1

    #change direction using direction_pin: I2SO.2:low

    direction_pin: I2SO.2


    y:

    steps_per_mm: 80.000

    max_rate_mm_per_min: 6000.000

    acceleration_mm_per_sec2: 1000.000

    max_travel_mm: 400.000

    soft_limits: true

    homing:

    cycle: 1

    allow_single_axis: true

    positive_direction: false

    mpos_mm: 0.000

    feed_mm_per_min: 150.000

    seek_mm_per_min: 2000.000

    settle_ms: 250

    seek_scaler: 1.100

    feed_scaler: 1.100


    motor0:

    limit_neg_pin: gpio.35:low

    limit_pos_pin: NO_PIN

    limit_all_pin: NO_PIN

    hard_limits: true

    pulloff_mm: 1.000

    stepstick:

    step_pin: I2SO.5

    #change direction using direction_pin: I2SO.6:low

    direction_pin: I2SO.6


    # z-axis not available

    # z:

    # steps_per_mm: 80.000

    # max_rate_mm_per_min: 6000.000

    # acceleration_mm_per_sec2: 1000.000

    # max_travel_mm: 80.000

    # soft_limits: true

    # homing:

    # cycle: 0

    # positive_direction: false

    # mpos_mm: 0.000

    # feed_mm_per_min: 300.000

    # seek_mm_per_min: 1000.000

    # settle_ms: 250

    # seek_scaler: 1.100

    # feed_scaler: 1.100

    #

    # motor0:

    # limit_neg_pin: gpio.34:low

    # limit_pos_pin: NO_PIN

    # limit_all_pin: NO_PIN

    # hard_limits: false

    # pulloff_mm: 1.000

    # stepstick:

    # step_pin: I2SO.3

    # #change direction using direction_pin: I2SO.4:low

    # direction_pin: I2SO.4


    i2so:

    bck_pin: gpio.16

    data_pin: gpio.21

    ws_pin: gpio.17


    spi:

    miso_pin: gpio.13

    mosi_pin: gpio.11

    sck_pin: gpio.12


    sdcard:

    cs_pin: gpio.15

    card_detect_pin: gpio.39

    frequency_hz: 8000000


    macros:

    startup_line0:

    startup_line1:

    macro0:

    macro1:

    macro2:

    macro3:

    after_homing:

    after_reset:

    after_unlock:


    coolant:

    flood_pin: gpio.4

    mist_pin: NO_PIN

    delay_ms: 0


    probe:

    pin: gpio.2:low

    check_mode_start: true


    Laser:

    pwm_hz: 1500

    output_pin: gpio.22

    enable_pin: NO_PIN

    disable_with_s0: false

    s0_with_disable: true

    tool_num: 0

    speed_map: 0=0.000% 1000=100.000%

    off_on_alarm: true


    #if you want to connect a small display to the board, define I2C bus and oled sections

    #http://wiki.fluidnc.com/en/config/displays

    #this configuration uses the SDA/SCL labeled pins available on the board. Can't be used

    # in parallel with coolant functions

    #i2c0:

    # sda_pin: gpio.8

    # scl_pin: gpio.9


    #oled:

    # i2c_num: 0

    # i2c_address: 60

    # width: 128

    # height: 64

    # radio_delay_ms: 1000


    #not available within FluidNC

    #credits to https://github.com/MJ666/MKS-DLC32-FIRMWARE or the pinout

    #Beeper: I2SO.7

    #define LCD_SCK GPIO_NUM_18

    #define LCD_MISO GPIO_NUM_19

    #define LCD_MOSI GPIO_NUM_23

    #define LCD_RS GPIO_NUM_33

    #define LCD_EN GPIO_NUM_5

    #define LCD_RST GPIO_NUM_27

    #define LCD_CS GPIO_NUM_25

    #define TOUCH_CS GPIO_NUM_26


    comms:

    telnet_enable: true

    telnet_port: 23

    http_enable: true

    http_port: 80

    hostname: fluidnc

    wifi_sta:

    ssid: My Wi-Fi Network

    wifi_ap:

    ssid: FluidNC

  • Ah. Jetzt lese ich das erst genau, weil ich vorher immer nur auf das Board an sich geguckt habe. Ist ja auch krass, dass die das genauso nennen, aber den Prozessor auswechseln. Eventuell sind beim S3 die Pins auch anders, ich erinnere mich an Diskussionen bei FluidNC, ob der überhaupt unterstützt werden soll. Muss ich noch mal genauer nachgucken.

    ---------

    Laser: Sculpfun S6 Pro bis A9 40W (alle Modelle/Module)

    3D-Drucker: Creality CR-10, Geeetech i3

    CNC: NoName 3018, TwoTrees TTC450

  • Aber Ich hab da auch glück mir den neusten noch nicht unterstützten kram rauszusuchen, hab mir vor 1 1/2 Jahren schon für meine WLED Geschichten von Saeed Studio zehn Xiao 32c3 gekauft weil die endlich alles haten was ich wollte, aber für die musste ich mir am Anfang die Firmware auch kompilieren. Aber da waren das auch nur 2 bis 8 Leitungen.


    Und so wirklich spaß bringt das grade auch noch nicht, zwischendurch zeigt der mir kurz das tolle config Menü an, und jetzt aktualisiert der nicht mal mehr die coinfig Einträge, nutz sie aber scheinbar laut Konsole. aber ein Signal vom End Schalter oder so, hab ich auch noch nicht,


    Ich geb nicht auf, und wenn ich den Chips tausche...

  • Ich geb nicht auf, und wenn ich den Chips tausche...

    Davor kannst du dir auch einfach ein neues Board holen. Die gehen eigentlich alle, ein bisschen basteln ist halt nötig. MKS DLC32 ist da oft das Board der Wahl, weil recht verbreitet.


    Wenn ich in den nächsten Tagen mal Zeit habe, gucke ich noch mal wegen der S3-Geschichte. Eventuell findest du auch schon was im FluidNC-Discord, da sind die Entwickler mit am diskutieren.

    ---------

    Laser: Sculpfun S6 Pro bis A9 40W (alle Modelle/Module)

    3D-Drucker: Creality CR-10, Geeetech i3

    CNC: NoName 3018, TwoTrees TTC450

  • Inzwischen hat sich auch swiitol gemeldet, und mir eine Firmware geschickt. Ich werde berichten wie es gelaufen ist. Ja das Board sieht auch sehr interessant aus. Basteln ist gar kein Problem. Naja vielleicht ein kleines, sonstwäre ich ja nicht auf die glorreiche Idee gekommen den gleich mit nicht originaler Firmware zu Flaschen...

  • Soo, nachdem ich nach vielen Versuchen irgendwelcher bei anderen boards benutzen gpios immernoch kein Erfolg hatte, hab ich mir endlich Mal die pinouts beider esp's angeguckt und festgestellt das die komplett unterschiedlich sind. Da der esp-s3 aber ja direkt den esp32 ersetzt, müssen dann die Pins angepasst werden. Ich hab das dann auch versucht durchzuklingeln und dabei zumindest die spi Pins und den Laser Treiber gefunden. Allerdings hab ich dann mit Locken einschaltknopf und noch angeschlossenem Netzteil kurzerhand mein Board gegrillt...

    Glücklicherweise hab ich beim dicken A gleich ein MKS dlc32 inkl Touchscreen zu einem ansprechenden Preis gekauft, was auch heute direkt ankam.


    Ich werde wen es Recht ist hier demnächst Mal meine Erkenntnisse zum esp32-s3 Posten.


    Ich hab's erfolgreich geschafft fluidnc zu kompelieren und zu Flashen. Für die pinn Belegung hatte ich die gpio.cpp angepasst, da beim building der vom esp-s3 benötigte gpio 6 komplett zur Benutzung gesperrt war, weil der normale ESP auf den Pins seinen speicher hat. Aber das wird nicht durch ein env. korrigiert. Testen konnt ich das leider so nicht mehr, aber vielleicht spart das ja jemanden ein paar frustriende Stunden.


    So Long!

  • Also hier die Pinbelegung beider esp32

    ESP32 ESP32-S3
    GND GND
    3V3 3V3
    EN EN
    IO36 IO4
    IO39 IO5
    IO34 IO6
    IO35 IO7 LaserPWM?
    IO32 IO15
    IO33 IO16
    IO25 IO17
    IO26 IO18
    IO27 IO8
    IO14 IO19 scl
    IO12 IO20
    GND IO3
    IO13 IO46 I2S_BCK
    IO9 IO9
    IO10 IO12
    IO11 IO13
    IO6 IO14 I2S_WS
    IO7 IO21
    IO8 IO47
    IO15 IO48
    IO2 IO45 I2S_data
    IO0 IO0
    IO4 IO35
    IO16 IO36
    IO17 IO37
    IO5 IO38
    IO18 IO39
    IO19 IO40 sda
    NC IO41
    IO21 IO42
    IO3 IO44 RXD0
    IO1 IO43 TXD0
    IO22 IO2
    IO23 IO1
    GND GND


    Zusammenfassung für ES32-S3

    Die I2S GPIO sind zu 99% sicher,

    wurden von mir persönlich durchgeklingelt.

    Laser GPIO sollte auch stimmen


    I2S_BCK IO46

    I2S_data IO45

    I2S_WS IO14

    LaserPWM? IO7

    scl? IO19

    sda? IO40

    TXD0 IO43

    RXD0 IO44


    die angepasste yaml für FluidNC


    board: XY LaserBox V1.0

    name: ESP32-S3

    meta: 2024-04-10 by AllEx

    stepping:

    engine: I2S_static

    idle_ms: 250

    pulse_us: 4

    dir_delay_us: 0

    disable_delay_us: 0

    segments: 12

    i2so:

    bck_pin: gpio.46

    data_pin: gpio.45

    ws_pin: gpio.14


    kinematics:

    Cartesian:

    axes:

    shared_stepper_disable_pin: I2SO.0

    shared_stepper_reset_pin: NO_PIN

    x:

    steps_per_mm: 80.000000

    max_rate_mm_per_min: 1000.000000

    acceleration_mm_per_sec2: 25.000000

    max_travel_mm: 1000.000000

    soft_limits: false

    homing:

    cycle: 0

    allow_single_axis: true

    positive_direction: true

    mpos_mm: 0.000000

    feed_mm_per_min: 50.000000

    seek_mm_per_min: 200.000000

    settle_ms: 250

    seek_scaler: 1.100000

    feed_scaler: 1.100000

    motor0:

    limit_neg_pin: NO_PIN

    limit_pos_pin: NO_PIN

    limit_all_pin: NO_PIN

    hard_limits: false

    pulloff_mm: 1.000000

    standard_stepper:

    step_pin: I2SO.1

    direction_pin: I2SO.2:low

    disable_pin: NO_PIN

    y:

    steps_per_mm: 80.000000

    max_rate_mm_per_min: 1000.000000

    acceleration_mm_per_sec2: 25.000000

    max_travel_mm: 1000.000000

    soft_limits: false

    homing:

    cycle: -1

    allow_single_axis: true

    positive_direction: true

    mpos_mm: 0.000000

    feed_mm_per_min: 50.000000

    seek_mm_per_min: 200.000000

    settle_ms: 250

    seek_scaler: 1.100000

    feed_scaler: 1.100000

    motor0:

    limit_neg_pin: NO_PIN

    limit_pos_pin: NO_PIN

    limit_all_pin: NO_PIN

    hard_limits: false

    pulloff_mm: 1.000000

    standard_stepper:

    step_pin: I2SO.5

    direction_pin: I2SO.6

    disable_pin: NO_PIN


    control:

    safety_door_pin: NO_PIN

    reset_pin: NO_PIN

    feed_hold_pin: NO_PIN

    cycle_start_pin: NO_PIN

    macro0_pin: NO_PIN

    macro1_pin: NO_PIN

    macro2_pin: NO_PIN

    macro3_pin: NO_PIN

    fault_pin: NO_PIN

    estop_pin: NO_PIN

    coolant:

    flood_pin: NO_PIN

    mist_pin: NO_PIN

    delay_ms: 0

    probe:

    pin: NO_PIN

    toolsetter_pin: NO_PIN

    check_mode_start: true

    macros:

    startup_line0:

    startup_line1:

    macro0:

    macro1:

    macro2:

    macro3:

    after_homing:

    after_reset:

    after_unlock:

    start:

    must_home: false

    deactivate_parking: false

    check_limits: true

    parking:

    enable: false

    axis: Z

    target_mpos_mm: -5.000000

    rate_mm_per_min: 800.000000

    pullout_distance_mm: 5.000000

    pullout_rate_mm_per_min: 250.000000

    user_outputs:

    analog0_pin: NO_PIN

    analog1_pin: NO_PIN

    analog2_pin: NO_PIN

    analog3_pin: NO_PIN

    analog0_hz: 5000

    analog1_hz: 5000

    analog2_hz: 5000

    analog3_hz: 5000

    digital0_pin: NO_PIN

    digital1_pin: NO_PIN

    digital2_pin: NO_PIN

    digital3_pin: NO_PIN

    digital4_pin: NO_PIN

    digital5_pin: NO_PIN

    digital6_pin: NO_PIN

    digital7_pin: NO_PIN

    NoSpindle:

    arc_tolerance_mm: 0.002000

    junction_deviation_mm: 0.010000

    verbose_errors: false

    report_inches: false

    enable_parking_override_control: false

    use_line_numbers: false

    planner_blocks: 16


    Anpassung der gpio.cpp /hab gerade gesehen das es da noch eine andere Zeile zur Anpassung der gpios direkt ,über dem von mir bearbeiteten block gibt.


    struct pin_mux {

    int pinnum;

    const char* pinname;

    const char* functions[6];

    } pins[] = {

    { 0, "GPIO0", { "GPIO0", "CLK_OUT1", "GPIO0", "-", "-", "EMAC_TX_CLK" } },

    { 1, "GPIO1", { "GPIO1", "CLK_OUT3", "GPIO1", "-", "-", "EMAC_RXD2" } },

    { 2, "GPIO2", { "GPIO2", "HSPIWP", "GPIO2", "HS2_DATA0", "SD_DATA0", "-" } },

    { 3, "GPIO3", { "GPIO3", "CLK_OUT2", "GPIO3", "-", "-", "-" } },

    { 4, "GPIO4", { "GPIO4", "HSPIHD", "GPIO4", "HS2_DATA1", "SD_DATA1", "EMAC_TX_ER" } },

    { 5, "GPIO5", { "GPIO5", "VSPICS0", "GPIO5", "HS1_DATA6", "-", "EMAC_RX_CLK" } },

    { 6, "GPIO6", { "GPIO6", "SPICLK", "GPIO6", "HS1_CLK", "U1CTS", "-" } },

    { 7, "GPIO7", { "GPIO07", "SPIQ", "GPIO7", "HS1_DATA0", "U2RTS", "-" } },

    { 8, "GPIO8", { "GPIO08", "SPID", "GPIO8", "HS1_DATA1", "U2CTS", "-" } },

    { 9, "GPIO9", { "GPIO09", "SPIHD", "GPIO9", "HS1_DATA2", "U1RXD", "-" } },

    { 10, "GPI10", { "GPIO10", "SPIWP", "GPIO10", "HS1_DATA3", "U1TXD", "-" } },

    { 11, "GPIO11", { "GPIO11", "SPICS0", "GPIO11", "HS1_CMD", "U1RTS", "-" } },

    { 12, "GPIO12", { "GPIO12", "HSPIQ", "GPIO12", "HS2_DATA2", "SD_DATA2", "EMAC_TXD3" } },

    { 13, "GPIO13", { "GPIO13", "HSPID", "GPIO13", "HS2_DATA3", "SD_DATA3", "EMAC_RX_ER" } },

    { 14, "GPIO14", { "GPIO14", "HSPICLK", "GPIO14", "HS2_CLK", "SD_CLK", "EMAC_TXD2" } },

    { 15, "GPIO15", { "GPIO15", "HSPICS0", "GPIO15", "HS2_CMD", "SD_CMD", "EMAC_RXD3" } },

    { 16, "GPIO16", { "GPIO16", "-", "GPIO16", "HS1_DATA4", "U2RXD", "EMAC_CLK_OUT1" } },

    { 17, "GPIO17", { "GPIO17", "-", "GPIO17", "HS1_DATA5", "U2TXD", "EMAC_CLK_1801" } },

    { 18, "GPIO18", { "GPIO18", "VSPICLK", "GPIO18", "HS1_DATA7", "-", "-" } },

    { 19, "USB_D+", { "USB_D+", "VSPIQ", "GPIO19", "U0CTS", "-", "EMAC_TXD0" } },

    { 19, "USB_D-", { "USB_D-", "VSPIQ", "GPIO20", "U0CTS", "-", "EMAC_TXD0" } },

    { 21, "GPIO21", { "GPIO21", "VSPIHD", "GPIO21", "-", "-", "EMAC_TX_EN" } },

    { 22, "GPIO22", { "GPIO22", "VSPIWP", "GPIO22", "U0RTS", "-", "EMAC_TXD1" } },

    { 23, "GPIO23", { "GPIO23", "VSPID", "GPIO23", "HS1_STROBE", "-", "-" } },

    { 25, "GPIO25", { "GPIO25", "-", "GPIO25", "-", "-", "EMAC_RXD0" } },

    { 26, "SPICS1", { "SPICS1", "-", "GPIO26", "-", "-", "EMAC_RXD1" } },

    { 27, "SPIHD", { "SPIHD", "-", "GPIO27", "-", "-", "EMAC_RX_DV" } },

    { 28, "SPIWP", { "SPIWP", "-", "GPIO28", "-", "-", "EMAC_RX_DV" } },

    { 29, "SPICS0", { "SPICS0", "-", "GPIO29", "-", "-", "EMAC_RX_DV" } },

    { 30, "SPICLK", { "SPICLK", "-", "GPIO30", "-", "-", "EMAC_RX_DV" } },

    { 31, "SPIQ", { "SPIQ", "-", "GPIO31", "-", "-", "EMAC_RX_DV" } },

    { 32, "SPID", { "SPID", "-", "GPIO32", "-", "-", "-" } },

    { 33, "GPIO33", { "GPIO33", "-", "GPIO33", "-", "-", "-" } },

    { 34, "GPIO34", { "GPIO34", "-", "GPIO34", "-", "-", "-" } },

    { 35, "GPIO35", { "GPIO35", "-", "GPIO35", "-", "-", "-" } },

    { 36, "GPIO36", { "GPIO36", "-", "GPIO36", "-", "-", "-" } },

    { 37, "GPIO37", { "GPIO37", "-", "GPIO37", "-", "-", "-" } },

    { 38, "GPIO38", { "GPIO38", "-", "GPIO38", "-", "-", "-" } },

    { 39, "MTCK", { "MTCK", "-", "GPIO39", "-", "-", "-" } },

    { 40, "MTDO", { "MTDO", "-", "GPIO40", "-", "-", "-" } },

    { 41, "MTDI", { "MTDI", "-", "GPIO41", "-", "-", "-" } },

    { 42, "MTMS", { "MTMS", "-", "GPIO42", "-", "-", "-" } },

    { 43, "GPIO43", { "GPIO43", "-", "GPIO43", "-", "-", "-" } },

    { 44, "GPIO44", { "GPIO44", "-", "GPIO44", "-", "-", "-" } },

    { 45, "GPIO45", { "GPIO45", "-", "GPIO45", "-", "-", "-" } },

    { 46, "GPIO46", { "GPIO46", "-", "GPIO46", "-", "-", "-" } },

    { 47, "GPIO47", { "GPIO47", "-", "GPIO47", "-", "-", "-" } },

    { 48, "GPIO48", { "GPIO48", "-", "GPIO48", "-", "-", "-" } },

    { -1, "", { "" } },

    };


    Anpassung GPIOPinDetail.cpp


    namespace Pins {

    std::vector<bool> GPIOPinDetail::_claimed(nGPIOPins, false);


    PinCapabilities GPIOPinDetail::GetDefaultCapabilities(pinnum_t index) {

    // See https://randomnerdtutorials.co…2-pinout-reference-gpios/ for an overview:

    switch (index) {

    case 0: // Outputs PWM signal at boot

    return PinCapabilities::Native | PinCapabilities::Input | PinCapabilities::Output | PinCapabilities::PullUp |

    PinCapabilities::PullDown | PinCapabilities::ADC | PinCapabilities::PWM | PinCapabilities::ISR |

    PinCapabilities::UART;


    case 1:

    case 2: // Normal pins

    case 4:

    case 5:

    case 6:

    case 7:

    case 8:

    case 9:

    case 10:

    case 11:

    case 12:

    case 13:

    case 14:

    case 15:

    case 16:

    case 17:

    case 18:

    case 21:

    case 36:

    case 37:

    case 38:

    return PinCapabilities::Native | PinCapabilities::Input | PinCapabilities::Output | PinCapabilities::PullUp |

    PinCapabilities::PullDown | PinCapabilities::ADC | PinCapabilities::PWM | PinCapabilities::ISR |

    PinCapabilities::UART;


    case 26: // SPI flash integrated

    case 27:

    case 28:

    case 29:

    case 30:

    case 31:

    case 32:

    return PinCapabilities::Reserved;




    default: // Not mapped to actual GPIO pins

    return PinCapabilities::None;



    case 43: // TX pin of Serial0. Note that Serial0 also runs through the Pins framework!

    return PinCapabilities::Native | PinCapabilities::Output | PinCapabilities::Input | PinCapabilities::UART;


    case 44: // RX pin of Serial0. Note that Serial0 also runs through the Pins framework!

    return PinCapabilities::Native | PinCapabilities::Output | PinCapabilities::Input | PinCapabilities::ISR |

    PinCapabilities::UART;

    }

    }


    Ich hoffe das kann irgendjemanden helfen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!