Code Monkey home page Code Monkey logo

esp32feedercontroller's Introduction

Esp32FeederController

The Esp32FeederController project allows controlling of multiple 0816 Feeders using four wire cables.

Supported Feeders

At this time the following feeder designs should work:

The Max Feeder is the preferred version of the feeder design as it supports adding a QR Code to the feeder that can be used for automatic part identification.

Feeder modifications / Addons

Non-automatic feeders

Adding Esp32FeederController to OpenPnP

Adding Esp32FeederController to OpenPnP consists of three steps:

Creating the Gcode Driver

Each Esp32FeederController PCB should have it's own GcodeDriver.

Steps to add a new GcodeDriver for Esp32FeederController:

  • Navigate to the Machine Setup tab
  • Traverse the list to the Drivers section, select and expand it.
  • Click the + (add) icon and select GcodeDriver.
  • Select the newly created GcodeDriver GcodeDriver entry.
  • Set the Name so it can be easily identified later.
  • Set Communications Type to tcp.
  • Scroll down to the TCP section.
  • Set IP Address based on the reported IP address in the serial output.
  • Set Port to 8989.
  • Click the Apply button to save the updates.
  • In the File menu select Save Configuration to ensure settings are not lost when restarting OpenPnP.

Creating Actuators

Each Esp32FeederController PCB requires two Actuators:

  • Feeder Advancement
  • Feeder Post Pick

The following steps should be executed for the two Actuators:

  • Navigate to the Machine Setup tab
  • Traverse the list to the Actuators section, select and expand it.
  • Click the + (add) icon and select ReferenceActuator.
  • Select the newly created ReferenceActuator ReferenceActuator entry.
  • Set Driver to the Esp32FeederController driver created previously.
  • Set the Name so it can be easily identified later.
  • Set Value Type to Double.
  • Click the Apply button to save the updates.
  • In the File menu select Save Configuration to ensure settings are not lost when restarting OpenPnP.

After the two Actuators have been defined it is necessary to configure the Gcode commands to send for actuation, use the following steps to configure this:

  • Navigate to the Machine Setup tab
  • Traverse the list to the Drivers section, select and expand it.
  • Click the GcodeDriver Esp32FeederController (or whatever name was provided previously).
  • Navigate to the Gcode tab.
  • In Head Mountable drop down select Default.
    • In Setting select COMMAND_CONFIRM_REGEX and enter ^ok.*, be sure to click Apply before moving further.
    • In Setting select COMMAND_ERROR_REGEX and enter ^error.*, be sure to click Apply before moving further.
  • In Head Mountable drop down select Actuator: [No Head] Feeder Advancement.
    • In Setting select ACTUATE_DOUBLE_COMMAND and enter M610 N{IntegerValue}*, be sure to click Apply before moving further.
  • In Head Mountable drop down select Actuator: [No Head] Feeder Post Pick.
    • In Setting select ACTUATE_DOUBLE_COMMAND and enter M611 N{IntegerValue}*, be sure to click Apply before moving further.
  • In the File menu select Save Configuration to ensure settings are not lost when restarting OpenPnP.

Configuring Feeders in OpenPnP

There are two types of feeders that will work well with Esp32FeederController:

Both operate similarly using the Actuators defined above.

  • Navigate to the Feeders tab
  • Click the + (add) icon and select ReferenceAutoFeeder or ReferenceSlotAutoFeeder.
  • Select the newly created ReferenceAutoFeeder ReferenceAutoFeeder or ReferenceSlotAutoFeeder ReferenceSlotAutoFeeder entry.
  • Double click on the newly created row in the Name column and rename it for easier identification.
  • Set Feed Actuator to Feeder Advancement (or whichever name you provide the Actuator)
  • Set Post Pick Actuator to Feeder Post Pick (or whichever name you provide the Actuator)
  • Set Actuator Value on both Actuators to the feeder number on the Esp32FeederController PCB minus one (zero indexed).
  • Click the Apply button to save the updates.
  • In the File menu select Save Configuration to ensure settings are not lost when restarting OpenPnP.

Use the Test Feed and Test post pick to confirm the feeder is responding correctly.

Supported Gcode commands

The Esp32FeederController supports multiple Gcode commands, many of which are not directly used by OpenPnP. Many of the commands are intended to be used with substitution of values within { } marks, anything within [ ] are optional arguments.

Feeder Movement (M610)

M610 N{feeder} [D{distance}]

  • {feeder} is the Feeder to be moved forward.
  • {distance} is the distance to move the feeder and is optional.

Feeder Post Pick (M611)

M611 N{feeder}

  • {feeder} is the Feeder to be moved as part of post-pick.

Feeder Status (M612)

M612 N{feeder}

  • {feeder} is the Feeder to retrieve status for.

Feeder Configuration (M613)

M613 N{feeder} [A{advance angle}] [B{half advance angle}] [C{retract angle}] [D{degrees}] [F{feed length}] [S{speed}] [U{settle time}] [V{min pulse}] [W{max pulse}] [Z{feedback enabled}]

All parameters except {feeder} are optional.

  • {feeder} is the Feeder to be configured.
  • {advance angle} is the angle to move the servo to for full extension.
  • {half advance angle} is the angle to move the servo to for half extension.
  • {retract angle} is the angle to move the servo to for retraction.
  • {degrees} is the maximum number of degrees to move at one time, set to zero to move immediately.
  • {feed length} is the number of millimeters (pitch) to move the feeder forward when moving to the next part and must be a multiple of 2.
  • {speed} is the interval at which to move the servo between two angles, used in conjunction with {degrees}.
  • {settle time} is the number of milliseconds to delay between servo movements.
  • {min pulse} is the minimum number of pulses to send the servo.
  • {max pulse} is the maximum number of pulses to send the servo.
  • {feedback enabled} is used to enable or disable feedback checking as part of movement, set to zero to disable or one to enable

Enable Feeder (M614)

M614 N{feeder}

  • {feeder} is the Feeder to enable.

Disable Feeder (M615)

M615 N{feeder}

  • {feeder} is the Feeder to disable.

esp32feedercontroller's People

Contributors

atanisoft avatar bjonesrock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

esp32feedercontroller's Issues

Servo doesn't work

I assembled Max feeder, N20 motro is work, but the Servo doesn't work, I have test the servo, it's good.
everything seem good, but Servo do nothing. I wonder if you test the servo after last bug fixed.

I (4348) feeder_mgr: Initializing I2C Bus
W (4350) feeder_mgr: PCA9685(40) was not detected.
W (4354) feeder_mgr: PCA9685(41) was not detected.
W (4360) feeder_mgr: PCA9685(42) was not detected.
I (4367) feeder_mgr: PCA9685(43/0x3ffca1a8) configured for use.
W (4372) feeder_mgr: PCA9685(44) was not detected.
W (4377) feeder_mgr: PCA9685(45) was not detected.
W (4383) feeder_mgr: PCA9685(46) was not detected.
W (4388) feeder_mgr: PCA9685(47) was not detected.
I (4396) feeder_mgr: Detected PCA9685 devices:1
W (4399) feeder_mgr: MCP23017(20) was not detected!
W (4404) feeder_mgr: MCP23017(21) was not detected!
W (4411) feeder_mgr: MCP23017(22) was not detected!
I (4419) feeder_mgr: MCP23017(23/0x3ffca1e8) configured for use.
W (4422) feeder_mgr: MCP23017(24) was not detected!
W (4428) feeder_mgr: MCP23017(25) was not detected!
W (4433) feeder_mgr: MCP23017(26) was not detected!
W (4439) feeder_mgr: MCP23017(27) was not detected!
I (4444) feeder_mgr: Attempting to create 16 feeders
I (4450) feeder_mgr: Detected 1 PCA9685 and 1 MCP23017
I (4456) feeder_mgr: Creating feeder BA061284 (0/0/0/PCA:0x3ffca1a8/MCP:0x3ffca1e8)
I (4466) feeder: [BA061284:0] Initializing using PCA9685 0x3ffca1a8:0
I (4471) feeder: [BA061284:0] Subscribing to MCP23017 channel 0
I (4478) feeder: [BA061284:0] Feedback enabled using MCP23017 0x3ffca1e8:0

I (116263) PCA9685: [43:0] Moving to 90 deg
I (116511) feeder: [BA061284:0] Feeder movement complete, turning off servo
I (117223) feeder: [BA061284:0] Feeder fully advanced, retracting
I (117224) PCA9685: [43:0] Moving to 15 deg
I (117467) feeder: [BA061284:0] Feeder movement remaining: 4mm
I (117468) feeder: [BA061284:0] Feeder is retracted
I (117469) feeder: [BA061284:0] Moving to fully advanced position
I (117476) PCA9685: [43:0] Moving to 90 deg
I (117723) feeder: [BA061284:0] Feeder movement complete, turning off servo
I (117912) feeder: [BA061284:0] Feeder fully advanced, retracting
I (117913) PCA9685: [43:0] Moving to 15 deg
I (118156) feeder: [BA061284:0] Feeder movement remaining: 4mm
I (118157) feeder: [BA061284:0] Feeder is retracted
I (118158) feeder: [BA061284:0] Moving to fully advanced position
I (118165) PCA9685: [43:0] Moving to 90 deg
I (118413) feeder: [BA061284:0] Feeder movement complete, turning off servo
I (118702) feeder: [BA061284:0] Feeder fully advanced, retracting
I (118703) PCA9685: [43:0] Moving to 15 deg
I (118946) feeder: [BA061284:0] Feeder movement remaining: 4mm
I (118947) feeder: [BA061284:0] Feeder is retracted
I (118948) feeder: [BA061284:0] Moving to fully advanced position
I (118954) PCA9685: [43:0] Moving to 90 deg

GCode command return nothing

I try to send Gcode command (ex. M115)from openpnp gcode driver console,got nothing.
Sometimes it returns "ok", most of the time it returns nothing

M115
M115
M115
M115
M115
M115
M612 N1
M612 N0
M115
M115
M115
M115
M115
M115
M612 N1
M612 N1
M612 N1
M115
M115
ok
M115
M115
M115
M115
M115


I (27) boot: ESP-IDF v5.0.1-dirty 2nd stage bootloader
I (27) boot: compile time 19:27:32
I (27) boot: chip revision: v1.0
I (30) boot.esp32: SPI Speed : 40MHz
I (35) boot.esp32: SPI Mode : DIO
I (39) boot.esp32: SPI Flash Size : 4MB
I (44) boot: Enabling RNG early entropy source...
I (49) boot: Partition Table:
I (53) boot: ## Label Usage Type ST Offset Length
I (60) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (68) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (75) boot: 2 factory factory app 00 00 00010000 00177000
I (83) boot: End of partition table
I (87) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=4163ch (267836) map
I (192) esp_image: segment 1: paddr=00051664 vaddr=3ffb0000 size=03638h ( 13880) load
I (198) esp_image: segment 2: paddr=00054ca4 vaddr=40080000 size=0b374h ( 45940) load
I (217) esp_image: segment 3: paddr=00060020 vaddr=400d0020 size=c4b88h (805768) map
I (508) esp_image: segment 4: paddr=00124bb0 vaddr=4008b374 size=0b50ch ( 46348) load
I (539) boot: Loaded app from partition at offset 0x10000
I (539) boot: Disabling RNG early entropy source...
I (566) main: Esp32FeederController 1 Initializing
I (567) main: Compiled on Mar 31 2023 19:23:37 using IDF v5.0.1-dirty
I (568) main: Running from: factory
I (572) soc_info: Reset reason:power on reset (1), model:ESP32, chip revision:100, number of cores:2, embedded flash:No, embedded PSRAM: No, WiFi:Yes, IEEE 802.15.4:No, BLE:Yes, BT:Yes
I (590) main: Initializing NVS
I (623) wifi_mgr: Setting hostname to "esp32feeder".
I (630) wifi_mgr: Configuring Station (SSID: Wifi-2.4G)
I (630) wifi_mgr: Starting WiFi stack
I (720) wifi_mgr: WiFi station started.
I (1971) wifi_mgr: Connected to SSID: Wifi-2.4G
I (1972) wifi_mgr: [1/36] Waiting for IP address assignment.
I (1996) wifi_mgr: IP address:192.168.1.164
I (1997) wifi_mgr: [2/36] Waiting for IP address assignment.
I (2004) gcode_client_mgr: 0 clients connected
I (2005) gcode_server: Waiting for connections on 192.168.1.164:8989...
I (2013) feeder_mgr: Initializing I2C Bus
W (2015) feeder_mgr: PCA9685(40) was not detected.
W (2019) feeder_mgr: PCA9685(41) was not detected.
W (2025) feeder_mgr: PCA9685(42) was not detected.
I (2032) feeder_mgr: PCA9685(43/0x3ffca198) configured for use.
W (2037) feeder_mgr: PCA9685(44) was not detected.
W (2042) feeder_mgr: PCA9685(45) was not detected.
W (2048) feeder_mgr: PCA9685(46) was not detected.
W (2053) feeder_mgr: PCA9685(47) was not detected.
I (2059) feeder_mgr: Detected PCA9685 devices:1
W (2064) feeder_mgr: MCP23017(20) was not detected!
W (2070) feeder_mgr: MCP23017(21) was not detected!
W (2076) feeder_mgr: MCP23017(22) was not detected!
I (2085) feeder_mgr: MCP23017(23/0x3ffca1d8) configured for use.
W (2088) feeder_mgr: MCP23017(24) was not detected!
W (2093) feeder_mgr: MCP23017(25) was not detected!
W (2099) feeder_mgr: MCP23017(26) was not detected!
W (2104) feeder_mgr: MCP23017(27) was not detected!
I (2109) feeder_mgr: Attempting to create 16 feeders
I (2115) feeder_mgr: Detected 1 PCA9685 and 1 MCP23017
I (2121) feeder_mgr: Creating feeder A593131F (1/0/0/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2131) feeder: [A593131F:1] Initializing using PCA9685 0x3ffca198:0
I (2136) PCA9685: [43:0] Moving to 15 deg
I (2142) feeder_mgr: Enabling feeder A593131F (1)
I (2147) feeder_mgr: Creating feeder 97F4FAD4 (2/0/1/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2156) feeder: [97F4FAD4:2] Initializing using PCA9685 0x3ffca198:1
I (2162) PCA9685: [43:1] Moving to 15 deg
I (2168) feeder_mgr: Enabling feeder 97F4FAD4 (2)
I (2172) feeder_mgr: Creating feeder 0E638528 (3/0/2/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2183) feeder: [0E638528:3] Initializing using PCA9685 0x3ffca198:2
I (2187) PCA9685: [43:2] Moving to 15 deg
I (2193) feeder_mgr: Enabling feeder 0E638528 (3)
I (2198) feeder_mgr: Creating feeder D3C5EB5D (4/0/3/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2207) feeder: [D3C5EB5D:4] Initializing using PCA9685 0x3ffca198:3
I (2213) PCA9685: [43:3] Moving to 15 deg
I (2219) feeder_mgr: Enabling feeder D3C5EB5D (4)
I (2223) feeder_mgr: Creating feeder 775C7838 (5/0/4/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2233) feeder: [775C7838:5] Initializing using PCA9685 0x3ffca198:4
I (2238) PCA9685: [43:4] Moving to 15 deg
I (2244) feeder_mgr: Enabling feeder 775C7838 (5)
I (2249) feeder_mgr: Creating feeder 660C64E1 (6/0/5/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2258) feeder: [660C64E1:6] Initializing using PCA9685 0x3ffca198:5
I (2264) PCA9685: [43:5] Moving to 15 deg
I (2270) feeder_mgr: Enabling feeder 660C64E1 (6)
I (2274) feeder_mgr: Creating feeder 6134C54A (7/0/6/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2284) feeder: [6134C54A:7] Initializing using PCA9685 0x3ffca198:6
I (2290) PCA9685: [43:6] Moving to 15 deg
I (2296) feeder_mgr: Enabling feeder 6134C54A (7)
I (2300) feeder_mgr: Creating feeder D037A224 (8/0/7/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2310) feeder: [D037A224:8] Initializing using PCA9685 0x3ffca198:7
I (2315) PCA9685: [43:7] Moving to 15 deg
I (2321) feeder_mgr: Enabling feeder D037A224 (8)
I (2325) feeder_mgr: Creating feeder E351A565 (9/0/8/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2335) feeder: [E351A565:9] Initializing using PCA9685 0x3ffca198:8
I (2341) PCA9685: [43:8] Moving to 15 deg
I (2346) feeder_mgr: Enabling feeder E351A565 (9)
I (2351) feeder_mgr: Creating feeder AF13AC02 (10/0/9/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2360) feeder: [AF13AC02:10] Initializing using PCA9685 0x3ffca198:9
I (2366) PCA9685: [43:9] Moving to 15 deg
I (2372) feeder_mgr: Enabling feeder AF13AC02 (10)
I (2376) feeder_mgr: Creating feeder C06BE9EC (11/0/10/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2388) feeder: [C06BE9EC:11] Initializing using PCA9685 0x3ffca198:10
I (2392) PCA9685: [43:10] Moving to 15 deg
I (2398) feeder_mgr: Enabling feeder C06BE9EC (11)
I (2402) feeder_mgr: Creating feeder 97FBF52B (12/0/11/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2413) feeder: [97FBF52B:12] Initializing using PCA9685 0x3ffca198:11
I (2418) PCA9685: [43:11] Moving to 15 deg
I (2424) feeder_mgr: Enabling feeder 97FBF52B (12)
I (2428) feeder_mgr: Creating feeder 67703760 (13/0/12/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2438) feeder: [67703760:13] Initializing using PCA9685 0x3ffca198:12
I (2444) PCA9685: [43:12] Moving to 15 deg
I (2450) feeder_mgr: Enabling feeder 67703760 (13)
I (2455) feeder_mgr: Creating feeder E8631392 (14/0/13/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2464) feeder: [E8631392:14] Initializing using PCA9685 0x3ffca198:13
I (2470) PCA9685: [43:13] Moving to 15 deg
I (2476) feeder_mgr: Enabling feeder E8631392 (14)
I (2481) feeder_mgr: Creating feeder E838AF2F (15/0/14/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2491) feeder: [E838AF2F:15] Initializing using PCA9685 0x3ffca198:14
I (2496) PCA9685: [43:14] Moving to 15 deg
I (2502) feeder_mgr: Enabling feeder E838AF2F (15)
I (2507) feeder_mgr: Creating feeder 5CB0F53D (16/0/15/PCA:0x3ffca198/MCP:0x3ffca1d8)
I (2517) feeder: [5CB0F53D:16] Initializing using PCA9685 0x3ffca198:15
I (2522) PCA9685: [43:15] Moving to 15 deg
I (2528) feeder_mgr: Enabling feeder 5CB0F53D (16)
I (2533) feeder_mgr: Configured Feeders:16
I (2538) heap_mon: Heap: 241.09kB / 328.48kB
I (2543) main: Creating 4 worker threads
I (2551) feeder: [A593131F:1] Feeder movement complete, turning off servo
I (2551) feeder: [97F4FAD4:2] Feeder movement complete, turning off servo
I (2551) feeder: [0E638528:3] Feeder movement complete, turning off servo
I (2552) feeder: [D3C5EB5D:4] Feeder movement complete, turning off servo
I (2556) feeder: [775C7838:5] Feeder movement complete, turning off servo
I (2564) feeder: [660C64E1:6] Feeder movement complete, turning off servo
I (2570) feeder: [6134C54A:7] Feeder movement complete, turning off servo
I (2581) feeder: [D037A224:8] Feeder movement complete, turning off servo
I (2588) feeder: [E351A565:9] Feeder movement complete, turning off servo
I (2614) feeder: [AF13AC02:10] Feeder movement complete, turning off servo
I (2552) main: Esp32FeederController Ready!
I (2640) feeder: [C06BE9EC:11] Feeder movement complete, turning off servo
I (2665) feeder: [97FBF52B:12] Feeder movement complete, turning off servo
I (2692) feeder: [67703760:13] Feeder movement complete, turning off servo
I (2718) feeder: [E8631392:14] Feeder movement complete, turning off servo
I (2743) feeder: [E838AF2F:15] Feeder movement complete, turning off servo
I (2769) feeder: [5CB0F53D:16] Feeder movement complete, turning off servo
I (32006) gcode_client_mgr: 0 clients connected
I (32544) heap_mon: Heap: 222.73kB / 328.48kB
I (62009) gcode_client_mgr: 0 clients connected
I (62316) gcode_server: New client:192.168.1.123
I (62549) heap_mon: Heap: 220.05kB / 328.48kB
I (82381) gcode_client: [192.168.1.123] Command:M115
I (86889) gcode_client: [192.168.1.123] Command:M115
I (89963) gcode_client: [192.168.1.123] Command:M115
I (91507) gcode_client: [192.168.1.123] Command:M115
I (92012) gcode_client_mgr: 1 clients connected
I (92318) gcode_client: [192.168.1.123] Command:M115
I (92553) heap_mon: Heap: 219.27kB / 328.48kB
I (94880) gcode_client: [192.168.1.123] Command:M115
I (105227) gcode_client: [192.168.1.123] Command:M612
I (105228) feeder_mgr: feeder status request received
I (122015) gcode_client_mgr: 1 clients connected
I (122557) heap_mon: Heap: 219.40kB / 328.48kB
I (128266) gcode_client: [192.168.1.123] Command:M612
I (128267) feeder_mgr: feeder status request received
I (140553) gcode_client: [192.168.1.123] Command:M115
I (140571) gcode_client: [192.168.1.123] Command:M114
I (152018) gcode_client_mgr: 1 clients connected
I (152562) heap_mon: Heap: 219.04kB / 328.48kB
I (172413) gcode_client: [192.168.1.123] Command:M115
I (174869) gcode_client: [192.168.1.123] Command:M115
I (182021) gcode_client_mgr: 1 clients connected
I (182567) heap_mon: Heap: 219.04kB / 328.48kB
I (212024) gcode_client_mgr: 1 clients connected
I (212570) heap_mon: Heap: 219.13kB / 328.48kB
I (216861) gcode_client: [192.168.1.123] Command:M115
I (242027) gcode_client_mgr: 1 clients connected
I (242573) heap_mon: Heap: 217.38kB / 328.48kB
I (272029) gcode_client_mgr: 1 clients connected
I (272579) heap_mon: Heap: 218.77kB / 328.48kB

PCA9685 and MCP23017 address issue

I found another issue, the PCA9685 address a0 a1 is connected to high, but a2 a3 a4 a5 is not connected, leading to a random address sometimes instead of 0x43 during i2c scan.
a2 a3 a4 a5 should be properly grounded. Also, the MCP23017 has the same grounding issue, but no problem was found in the actual test. However, I found the MCP23017 connected to the same address on the schematic, i.e. a0 a1 connected to high, a2 not connected.

Wrong Feeder id returned

Send M612 N1 return "ok M612 N2"
Send M612 N0 return "ok M612 N1"

feeder = std::make_shared(idx + 1, uuid,
pca9685_[expander_index],
expander_channel, context,
mcp23017_[expander_index]);

ID of feeder from 1 to N not from 0 to (N-1)

when getting status of feeder
feeders_[feeder]->status()
^^^ from 0 - (N-1)

M612 N1
ok M612 N2 A90 B45 C15 D0 F4 S10 U240 V150 W600 X3 Y1 Z1

M612 N0
ok M612 N1 A90 B45 C15 D0 F4 S10 U240 V150 W600 X3 Y1 Z1

ESP32 abort on FeederManager.cpp

I use one PCA9685 and one MCP23017, ESP32 detected them, but reboot endless, please check log attached.

ESP32 abort on this line in FeederManager.cpp, then reboot ....
feeders_.push_back( std::make_shared(idx + 1, uuid, pca9685_[expander_index],
mcp23017_[expander_index],
expander_channel, context));

========================== LOG =================================
20:11:48.220 -> ELF file SHA256: 8720b8c32e64e776
20:11:48.220 ->
20:11:48.220 -> Rebooting...
20:11:48.220 -> ets Jun 8 2016 00:22:57
20:11:48.267 ->
20:11:48.267 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
20:11:48.267 -> configsip: 0, SPIWP:0xee
20:11:48.267 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
20:11:48.267 -> mode:DIO, clock div:2
20:11:48.267 -> load:0x3fff0030,len:6948
20:11:48.267 -> load:0x40078000,len:15500
20:11:48.267 -> load:0x40080400,len:3844
20:11:48.267 -> entry 0x4008064c
20:11:48.267 -> �[0;32mI (27) boot: ESP-IDF -128-NOTFOUND 2nd stage bootloader�[0m
20:11:48.267 -> �[0;32mI (27) boot: compile time 16:58:17�[0m
20:11:48.267 -> �[0;32mI (27) boot: chip revision: v1.0�[0m
20:11:48.267 -> �[0;32mI (31) boot.esp32: SPI Speed : 40MHz�[0m
20:11:48.267 -> �[0;32mI (35) boot.esp32: SPI Mode : DIO�[0m
20:11:48.313 -> �[0;32mI (40) boot.esp32: SPI Flash Size : 4MB�[0m
20:11:48.313 -> �[0;32mI (44) boot: Enabling RNG early entropy source...�[0m
20:11:48.313 -> �[0;32mI (50) boot: Partition Table:�[0m
20:11:48.313 -> �[0;32mI (53) boot: ## Label Usage Type ST Offset Length�[0m
20:11:48.313 -> �[0;32mI (61) boot: 0 nvs WiFi data 01 02 00009000 00006000�[0m
20:11:48.313 -> �[0;32mI (68) boot: 1 phy_init RF data 01 01 0000f000 00001000�[0m
20:11:48.313 -> �[0;32mI (76) boot: 2 factory factory app 00 00 00010000 00177000�[0m
20:11:48.313 -> �[0;32mI (83) boot: End of partition table�[0m
20:11:48.361 -> �[0;32mI (87) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=41804h (268292) map�[0m
20:11:48.454 -> �[0;32mI (193) esp_image: segment 1: paddr=0005182c vaddr=3ffb0000 size=03638h ( 13880) load�[0m
20:11:48.454 -> �[0;32mI (198) esp_image: segment 2: paddr=00054e6c vaddr=40080000 size=0b1ach ( 45484) load�[0m
20:11:48.454 -> �[0;32mI (217) esp_image: segment 3: paddr=00060020 vaddr=400d0020 size=c53dch (807900) map�[0m
20:11:48.735 -> �[0;32mI (509) esp_image: segment 4: paddr=00125404 vaddr=4008b1ac size=0b744h ( 46916) load�[0m
20:11:48.782 -> �[0;32mI (540) boot: Loaded app from partition at offset 0x10000�[0m
20:11:48.782 -> �[0;32mI (540) boot: Disabling RNG early entropy source...�[0m
20:11:48.829 -> �[0;32mI (567) main: Esp32FeederController 1 Initializing�[0m
20:11:48.829 -> �[0;32mI (568) main: Compiled on Mar 28 2023 16:56:01 using IDF -128-NOTFOUND�[0m
20:11:48.829 -> �[0;32mI (569) main: Running from: factory�[0m
20:11:48.829 -> �[0;32mI (574) soc_info: Reset reason:software reset (CPU) (12), model:ESP32, chip revision:100, number of cores:2, embedded flash:No, embedded PSRAM: No, WiFi:Yes, IEEE 802.15.4:No, BLE:Yes, BT:Yes�[0m
20:11:48.829 -> �[0;32mI (591) main: Initializing NVS�[0m
20:11:48.875 -> �[0;32mI (626) wifi_mgr: Setting hostname to "esp32feeder".�[0m
20:11:48.875 -> �[0;32mI (632) wifi_mgr: Configuring Station (SSID:QiQi Wifi-2.4G)�[0m
20:11:48.875 -> �[0;32mI (633) wifi_mgr: Starting WiFi stack�[0m
20:11:48.969 -> �[0;32mI (723) wifi_mgr: WiFi station started.�[0m
20:11:49.579 -> E (1328) wifi:Association refused temporarily, comeback time 1004 mSec
20:11:50.562 -> E (2339) wifi:Association refused temporarily, comeback time 1004 mSec
20:11:51.590 -> �[0;32mI (3349) wifi_mgr: Connection to SSID:QiQi Wifi-2.4G (reason:203) failed�[0m
20:11:51.636 -> �[0;32mI (3386) wifi_mgr: Connected to SSID:QiQi Wifi-2.4G�[0m
20:11:51.636 -> �[0;32mI (3387) wifi_mgr: [1/36] Waiting for IP address assignment.�[0m
20:11:52.622 -> �[0;32mI (4388) wifi_mgr: IP address:192.168.1.164�[0m
20:11:52.622 -> �[0;32mI (4389) wifi_mgr: [2/36] Waiting for IP address assignment.�[0m
20:11:52.622 -> �[0;32mI (4397) gcode_client_mgr: 0 clients connected�[0m
20:11:52.669 -> �[0;32mI (4399) gcode_server: Waiting for connections on 192.168.1.164:8989...�[0m
20:11:52.669 -> �[0;32mI (4406) feeder_mgr: Initializing I2C Bus�[0m
20:11:52.669 -> �[0;33mW (4408) feeder_mgr: PCA9685(40) was not detected.�[0m
20:11:52.669 -> �[0;33mW (4412) feeder_mgr: PCA9685(41) was not detected.�[0m
20:11:52.669 -> �[0;33mW (4418) feeder_mgr: PCA9685(42) was not detected.�[0m
20:11:52.669 -> �[0;32mI (4425) feeder_mgr: PCA9685(43/0x3ffca244) configured for use.�[0m
20:11:52.669 -> �[0;33mW (4430) feeder_mgr: PCA9685(44) was not detected.�[0m
20:11:52.669 -> �[0;33mW (4435) feeder_mgr: PCA9685(45) was not detected.�[0m
20:11:52.717 -> �[0;33mW (4441) feeder_mgr: PCA9685(46) was not detected.�[0m
20:11:52.717 -> �[0;33mW (4446) feeder_mgr: PCA9685(47) was not detected.�[0m
20:11:52.717 -> �[0;32mI (4451) feeder_mgr: Detected PCA9685 devices:1�[0m
20:11:52.717 -> �[0;33mW (4457) feeder_mgr: MCP23017(20) was not detected!�[0m
20:11:52.717 -> �[0;33mW (4462) feeder_mgr: MCP23017(21) was not detected!�[0m
20:11:52.717 -> �[0;33mW (4468) feeder_mgr: MCP23017(22) was not detected!�[0m
20:11:52.717 -> �[0;32mI (4477) feeder_mgr: MCP23017(23/0x3ffca284) configured for use.�[0m
20:11:52.717 -> �[0;33mW (4480) feeder_mgr: MCP23017(24) was not detected!�[0m
20:11:52.717 -> �[0;33mW (4486) feeder_mgr: MCP23017(25) was not detected!�[0m
20:11:52.765 -> �[0;33mW (4491) feeder_mgr: MCP23017(26) was not detected!�[0m
20:11:52.765 -> �[0;33mW (4497) feeder_mgr: MCP23017(27) was not detected!�[0m
20:11:52.765 ->
20:11:52.765 -> abort() was called at PC 0x4014f40f on core 0
20:11:52.765 ->
20:11:52.765 ->
20:11:52.765 -> Backtrace: 0x40081f0e:0x3ffba1c0 0x40089eed:0x3ffba1e0 0x40090f22:0x3ffba200 0x4014f40f:0x3ffba280 0x4014f444:0x3ffba2a0 0x4014f51f:0x3ffba2c0 0x400e35cb:0x3ffba2e0 0x400e0c9e:0x3ffba360 0x400dab79:0x3ffba610 0x40193669:0x3ffba7a0 0x4008d331:0x3ffba7c0
20:11:52.813 ->
20:11:52.813 ->
20:11:52.813 ->
20:11:52.813 ->

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.