Marlin slugmaster 512 value

Suggest 3 upgrades(preferably icons that performs well), budget 120mil

2023.05.29 17:47 ily4evr Suggest 3 upgrades(preferably icons that performs well), budget 120mil

Suggest 3 upgrades(preferably icons that performs well), budget 120mil submitted by ily4evr to FUTMobile [link] [comments]


2023.05.29 16:20 NeedleworkerInside57 Old timex expedition and Marlin

Ok so I have one grandpa that long passed and he gave me an old timex expedition one of the firsts and I have another old timex passed from my great grandpa to my grandpa to me (it would’ve gone to my dad but he passed when I was a lad) but this one is an old mechanical timex Marlin again it was one of the firsts but it did get beaten up quite a bit they have a lot of sentimental value which is all that matters but I have no idea what they would actually be worth I’m guessing anywhere from 50-200 but should I get the Marlin restored so I can drive it or is it better to just leave it all original but have it as more of an art piece
submitted by NeedleworkerInside57 to PrideAndPinion [link] [comments]


2023.05.29 15:48 Solart64 A 1231 pDPS axe i've made on ssf

A 1231 pDPS axe i've made on ssf submitted by Solart64 to pathofexile [link] [comments]


2023.05.29 12:28 ma115a Terribly slow Wi-Fi, basically unusable

Terribly slow Wi-Fi, basically unusable
A couple a days ago I upgraded my Wi-Fi card to an Intel AX210 from a Mediatek MT7921 due to a problem with my laptop not being able to wake up from sleep and also due to a really buggy internet connection on Windows and on Manjaro(I have a persistent USB with Manjaro running on it).
So basically my problem is that it takes a long time to connect to my network and when it does it is basically unusable, loading google takes like 30sec or even more so there is no point in testing the internet speed. I have tried different kernels, 5.15, 6.1 and even 6.3 but it's all the same. I tried using wavemon to see if I can catch something weird but nothing really, all I found was that power save was on by default and I turned it off(I'll attach a screenshot of wavemon somewhere here).
For now I have found that sharing that same network through my phone until I find a solution for the problem.
If someone has anything in mind what would cause this issue please advise.
Here's the output from: inxi -Fazy
System: Kernel: 6.3.4-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.1 parameters: BOOT_IMAGE=/boot/vmlinuz-6.3-x86_64 root=UUID=55199c28-ddde-4dc5-ac59-cec1239bb86a rw quiet splash udev.log_priority=3 Desktop: KDE Plasma v: 5.27.4 tk: Qt v: 5.15.9 wm: kwin_x11 vt: 1 dm: SDDM Distro: Manjaro Linux base: Arch Linux Machine: Type: Laptop System: Dell product: Inspiron 14 5425 v: 1.8.0 serial:  Chassis: type: 10 v: 1.8.0 serial:  Mobo: Dell model: 0TGWG4 v: A00 serial:  UEFI: Dell v: 1.8.0 date: 03/13/2023 Battery: ID-1: BAT0 charge: 33.7 Wh (62.4%) condition: 54.0/54.0 Wh (100.0%) volts: 15.8 min: 15.0 model: SMP-ATL3.66 DELL XDY9K23 type: Li-poly serial:  status: not charging CPU: Info: model: AMD Ryzen 5 5625U with Radeon Graphics bits: 64 type: MT MCP arch: Zen 3 gen: 4 level: v3 note: check built: 2021-22 process: TSMC n7 (7nm) family: 0x19 (25) model-id: 0x50 (80) stepping: 0 microcode: 0xA50000D Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache: L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB desc: 6x512 KiB L3: 16 MiB desc: 1x16 MiB Speed (MHz): avg: 1583 high: 1600 min/max: 1600/4387 boost: disabled scaling: driver: acpi-cpufreq governor: ondemand cores: 1: 1397 2: 1600 3: 1600 4: 1600 5: 1600 6: 1600 7: 1600 8: 1600 9: 1600 10: 1600 11: 1600 12: 1600 bogomips: 55122 Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm Vulnerabilities: Type: itlb_multihit status: Not affected Type: l1tf status: Not affected Type: mds status: Not affected Type: meltdown status: Not affected Type: mmio_stale_data status: Not affected Type: retbleed status: Not affected Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW, STIBP: always-on, RSB filling, PBRSB-eIBRS: Not affected Type: srbds status: Not affected Type: tsx_async_abort status: Not affected Graphics: Device-1: AMD Barcelo vendor: Dell driver: amdgpu v: kernel arch: GCN-5 code: Vega process: GF 14nm built: 2017-20 pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: eDP-1 empty: DP-1,HDMI-A-1 bus-ID: 04:00.0 chip-ID: 1002:15e7 class-ID: 0300 temp: 49.0 C Device-2: Microdia Integrated_Webcam_FHD driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-4:2 chip-ID: 0c45:6a1b class-ID: 0e02 Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.1 compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1 Screen-1: 0 s-res: 1920x1200 s-dpi: 96 s-size: 508x317mm (20.00x12.48") s-diag: 599mm (23.57") Monitor-1: eDP-1 mapped: eDP model: LG Display 0x06f9 built: 2021 res: 1920x1200 hz: 60 dpi: 161 gamma: 1.2 size: 302x189mm (11.89x7.44") diag: 356mm (14") ratio: 16:10 modes: max: 1920x1200 min: 640x480 API: OpenGL v: 4.6 Mesa 23.1.0-devel (git-bb2db56ffe) renderer: AMD Radeon Graphics (renoir LLVM 15.0.7 DRM 3.52 6.3.4-1-MANJARO) direct-render: Yes Audio: Device-1: AMD Renoir Radeon High Definition Audio vendor: Dell driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s bus-ID: 04:00.1 chip-ID: 1002:1637 class-ID: 0403 Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Dell driver: snd_rn_pci_acp3x v: kernel alternate: snd_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps, snd_sof_amd_renoir, snd_sof_amd_rembrandt pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s bus-ID: 04:00.5 chip-ID: 1022:15e2 class-ID: 0480 Device-3: AMD Family 17h/19h HD Audio vendor: Dell driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s bus-ID: 04:00.6 chip-ID: 1022:15e3 class-ID: 0403 API: ALSA v: k6.3.4-1-MANJARO status: kernel-api with: aoss type: oss-emulator tools: alsactl,alsamixer,amixer Server-1: JACK v: 1.9.22 status: off tools: N/A Server-2: PipeWire v: 0.3.70 status: active with: 1: pipewire-pulse status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin tools: pactl,pw-cat,pw-cli,wpctl Network: Device-1: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi v: kernel modules: wl pcie: gen: 2 speed: 5 GT/s lanes: 1 bus-ID: 03:00.0 chip-ID: 8086:2725 class-ID: 0280 IF: wlp3s0 state: up mac:  Bluetooth: Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-3:3 chip-ID: 8087:0032 class-ID: e001 Report: bt-adapter ID: hci0 rfk-id: 1 state: up address:  Drives: Local Storage: total: 534.24 GiB used: 29.36 GiB (5.5%) SMART Message: Unable to run smartctl. Root privileges required. ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: PM991a NVMe 512GB size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial:  fw-rev: 26304039 temp: 29.9 C scheme: GPT ID-2: /dev/sda maj-min: 8:0 vendor: SanDisk model: USB 3.2Gen1 size: 57.3 GiB block-size: physical: 512 B logical: 512 B type: USB rev: 3.2 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 tech: N/A serial:  fw-rev: 1.00 scheme: GPT SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure? Partition: ID-1: / raw-size: 56.8 GiB size: 55.61 GiB (97.90%) used: 29.36 GiB (52.8%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%) used: 332 KiB (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1 Swap: Alert: No swap data was found. Sensors: System Temperatures: cpu: N/A mobo: 39.0 43.0 sodimm: SODIMM 43.0 gpu: amdgpu temp: 50.0 C Fan Speeds (RPM): cpu: 0 Info: Processes: 307 Uptime: 37m wakeups: 4 Memory: available: 14.98 GiB used: 3.42 GiB (22.8%) Init: systemd v: 252 default: graphical tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: pm: pacman pkgs: 1315 libs: 348 tools: pamac,yay pm: flatpak pkgs: 0 Shell: fish v: 3.6.1 running-in: konsole inxi: 3.3.27 
Here's the output from: modinfo iwlwifi grep parm
parm: debug:debug output mask (uint) parm: swcrypto:using crypto in software (default 0 [hardware]) (int) parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint) parm: amsdu_size:amsdu size 0: 12K for multi Rx queue devices, 2K for AX210 devices, 4K for other devices 1:4K 2:8K 3:12K (16K buffers) 4: 2K (default 0) (int) parm: fw_restart:restart firmware in case of error (default true) (bool) parm: nvm_file:NVM file name (charp) parm: uapsd_disable:disable U-APSD functionality bitmap 1: BSS 2: P2P Client (default: 3) (uint) parm: enable_ini:0:disable, 1-15:FW_DBG_PRESET Values, 16:enabled without preset value defined,Debug INI TLV FW debug infrastructure (default: 16) parm: bt_coex_active:enable wifi/bt co-exist (default: enable) (bool) parm: led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int) parm: power_save:enable WiFi power management (default: disable) (bool) parm: power_level:default power save level (range from 1 - 5, default: 1) (int) parm: disable_11ac:Disable VHT capabilities (default: false) (bool) parm: remove_when_gone:Remove dev from PCIe bus if it is deemed inaccessible (default: false) (bool) parm: disable_11ax:Disable HE capabilities (default: false) (bool) parm: disable_11be:Disable EHT capabilities (default: false) (bool) 


wavemon output
submitted by ma115a to ManjaroLinux [link] [comments]


2023.05.29 02:26 MaxGanzII Redshift Research Project : Redshift Serverless First Numbers

So, serialization of workgroup startup/shutdown has finally allowed the test script to run through and I have my first numbers.
I time 1, 2, 4, 8, 16, 32 and 64 NRPU sized workgroups (RPU, the AWS provisioning measurement for Serverless, is from 8 to 512 in units of 8 - I'm using Normalized RPU, which is 1 to 64, because I'm not in marketing). Three runs for each size. No data removed.
{1: {'create_durations': {0: {'namespace': 0.8912234306335449, 'workgroup': 153.6752643585205}, 1: {'namespace': 0.2632710933685303, 'workgroup': 126.75984692573547}, 2: {'namespace': 0.30719685554504395, 'workgroup': 122.00758242607117}}, 'delete_durations': {0: {'namespace': 273.9122018814087, 'workgroup': 429.01427817344666}, 1: {'namespace': 171.95322132110596, 'workgroup': 201.95583033561707}, 2: {'namespace': 139.098858833313, 'workgroup': 285.5187757015228}}}, 2: {'create_durations': {0: {'namespace': 0.5897674560546875, 'workgroup': 121.55530858039856}, 1: {'namespace': 0.30312204360961914, 'workgroup': 120.97409987449646}, 2: {'namespace': 0.27922677993774414, 'workgroup': 122.50093817710876}}, 'delete_durations': {0: {'namespace': 139.09372663497925, 'workgroup': 292.04112100601196}, 1: {'namespace': 145.1036217212677, 'workgroup': 290.98438692092896}, 2: {'namespace': 266.5069706439972, 'workgroup': 332.7032895088196}}}, 4: {'create_durations': {0: {'namespace': 0.5522394180297852, 'workgroup': 120.89478826522827}, 1: {'namespace': 0.31633853912353516, 'workgroup': 121.28102254867554}, 2: {'namespace': 0.296018123626709, 'workgroup': 121.66532397270203}}, 'delete_durations': {0: {'namespace': 185.84460949897766, 'workgroup': 444.9275915622711}, 1: {'namespace': 210.47343182563782, 'workgroup': 569.497918844223}, 2: {'namespace': 308.6132912635803, 'workgroup': 230.29608488082886}}}, 8: {'create_durations': {0: {'namespace': 0.6241271495819092, 'workgroup': 173.4158012866974}, 1: {'namespace': 0.276500940322876, 'workgroup': 121.71212148666382}, 2: {'namespace': 0.26824140548706055, 'workgroup': 157.25942254066467}}, 'delete_durations': {0: {'namespace': 139.00387334823608, 'workgroup': 358.66292548179626}, 1: {'namespace': 256.9313349723816, 'workgroup': 307.93403720855713}, 2: {'namespace': 215.98176908493042, 'workgroup': 306.64670276641846}}}, 16: {'create_durations': {0: {'namespace': 0.5469801425933838, 'workgroup': 125.77691531181335}, 1: {'namespace': 0.31586313247680664, 'workgroup': 126.83414816856384}, 2: {'namespace': 0.31030869483947754, 'workgroup': 126.95151257514954}}, 'delete_durations': {0: {'namespace': 282.44001626968384, 'workgroup': 123.29836297035217}, 1: {'namespace': 160.32873916625977, 'workgroup': 264.13918256759644}, 2: {'namespace': 221.00441813468933, 'workgroup': 413.4299247264862}}}, 32: {'create_durations': {0: {'namespace': 0.6428768634796143, 'workgroup': 169.25946879386902}, 1: {'namespace': 0.26938652992248535, 'workgroup': 127.42372465133667}, 2: {'namespace': 0.2550821304321289, 'workgroup': 160.83280849456787}}, 'delete_durations': {0: {'namespace': 349.39478373527527, 'workgroup': 443.2784161567688}, 1: {'namespace': 201.93695878982544, 'workgroup': 468.7941060066223}, 2: {'namespace': 364.174423456192, 'workgroup': 468.4965844154358}}}, 64: {'create_durations': {0: {'namespace': 1.75421142578125, 'workgroup': 153.50090217590332}, 1: {'namespace': 0.2918214797973633, 'workgroup': 174.3497714996338}, 2: {'namespace': 0.40948033332824707, 'workgroup': 174.84722900390625}}, 'delete_durations': {0: {'namespace': 144.52987933158875, 'workgroup': 192.82117128372192}, 1: {'namespace': 254.82790207862854, 'workgroup': 273.6115198135376}, 2: {'namespace': 435.5224561691284, 'workgroup': 301.84624791145325}}}}
What we see is;
  1. Namespace creation is instant.
  2. Namespace deletion is slow, and the timing is very curious. 1 to 16 NRPU (inclusive both ends) takes about 170 seconds. 32 and 64 NRPU take about 275 seconds. Generally, more NRPU means slower, but there's a lot of variation between each deletion.
  3. Workgroup creation for 1, 2 and 4 is highly uniform and with low variance - 120 seconds. When we go to 8, we start to see longer times, and again, plenty of variation. At 16 we're back to looking like 1 to 4, then 32 and 64 both look like the largest value we saw for 8. I have a theory which may explain all this, but no hints for now.
  4. Workgroup deletion is variable, and usually takes about 5 to 10 minutes.
Final note, I had one workgroup which after being brought up, I couldn't connect to in 600 seconds and the connect timed out. Serverless is hard to work with. I've never seen problems like this with normal Redshift. I can't trust boto at all. In my boto commands now, I have infinite retry loops, because after the previous command has finished (moved to available, or a workgroup is no longer listed in the list of workgroups, etc), the next command will still not work for a long time (much longer than with normal Redshift). Where the test suite takes so long to run, because it has to be serialized or I get stuck workgroups, I can't afford to give up prematurely on a slow workgroup or namespace, or I lose many hours of test time.
This took one hell of a long time to run, where it's serialized. Every single bring-up and shut-down you see above, every single timing, occurred serially.
submitted by MaxGanzII to AmazonRedshift [link] [comments]


2023.05.28 22:57 lazyspock Colorizing pictures with SD + MultiControlNet - a guide (examples at the end of the post)

Colorizing pictures with SD + MultiControlNet - a guide (examples at the end of the post)

METHOD FOR COLORIZING PICTURES USING STABLE DIFFUSION

This method is not perfect and has its limitations. Images that are too complex, or too grainy/pixelated, etc, will present a challenge. Another thing you have to have in mind is that SD is not really COLORIZING the picture, but GENERATING A NEW COLOR IMAGE. So, if you need the output image to be an exact copy of the input one (only colored), this will probably not work. But, as you can see in the examples I’m posting below, I got very good results in my tests. So, test away and give us your feedback below.
Another important thing: someone will probably start from this process and make it better, and this is fantastic – this is exactly why this community is so important. So, if you happen to be this someone, please post your new method for everyone to see. I’ll be grateful if you link mine when you do so, but even if you don’t it will be a huge help to everyone, me included.
That said, let’s see the method and, after that, some examples I did.
THE METHOD
1) PREPARATION
a. Select your input B&W image. The clearer (no pixelation, no graininess, etc) the better, but there are ways to make the result better in case of less-than-perfect input images
b. Open your image in a photo editing software. Make small adjustments (like brightness, contrast, removing scratches, etc).
c. Also, change the canvas size to a proportion that Stable Diffusion can generate images on, like 1:1, or 1:1.5, etc. DO NOT RESIZE the image down, only CUT the image to the correct proportion. Example: if you have a 3324 x 2300 pixels image (1:1.4452 ratio), cut it to 3324 x 2216 pixels (1:1.5 ratio), so you can use 512 x 768 (also 1.5 ratio) to generate your output image in Stable Diffusion. About the reason for not resizing it down: ControlNet give better results with larger images (more details = better results).
d. Save the cleaned, correctly-sized image as a PNG file or as a JPG file with no compression
2) CONTROLNET
a. You will need at least two simultaneous instances of ControlNet. If you don’t have more than one ControlNet tab in your TXT2IMG tab, go to the Stable Diffusion settings tab, select CONTROLNET in the left menu, and change the “Multi ControlNet” slider to at least two. After that, apply the settings and restart Stable Diffusion, and you will have the multiple ControlNet tabs to work into.
b. In CONTROLNET UNIT 0:
i. Load your input image (the one you’ve saved in the PREPARATION step)
ii. Enable ControlNet
iii. PREPROCESSOR: lineart_realistic
iv. MODEL: control_v11p_sd15_lineart
v. CONTROL WEIGHT: Around 0,7 (try values from 0,5 to 1,0 depending on your image)
c. In CONTROLNET UNIT 1:
i. Load your input image (the same one)
ii. Enable ControlNet
iii. PREPROCESSOR: depth_leres+++
iv. MODEL: control_v11f1p_sd15_depth
v. CONTROL WEIGHT: Around 0,4 (try values from 0,3 to 0,6 depending on your image)
3) TXT2IMG SETTINGS
a. MODEL: RealisticVision 2.0
b. SAMPLING METHOD: DPM++ 2M Karras
c. SAMPLING STEPS: Around 18 (avoid going to high or the colors will not be right; try from 15 to 25 depending on your image)
d. CFG: around 3.5 (again, avoid much higher CFGs; from 2.5 to 5 will probably do)
e. RESTORE FACES: ON
f. WIDTH and HEIGHT: Try to stay inside the 512-to-768 range for both dimensions, and use the exact same ratio of the input image (as you saved it in the PREPARATION step)
g. BATCH SIZE: you decide. I normally use from 2 to 4 here, so I can have several images to choose from without waiting for a long time.
h. POSITIVE PROMPT: [BRIEF DESCRIPTION OF THE IMAGE], detailed (wrinkles, blemishes, folds, moles, veins, pores, skin imperfections:1.1), highly detailed glossy eyes, (looking at the camera), specular lighting, dslr, ultra quality, sharp focus, tack sharp, dof, film grain, centered, Fujifilm XT3, crystal clear
i. NEGATIVE PROMPT: out of frame, tattoo, b&w, sepia, (blurry un-sharp fuzzy un-detailed skin:1.4), (twins:1.4), (geminis:1.4), (wrong eyeballs:1.1), (cloned face:1.1), (perfect skin:1.2), (mutated hands and fingers:1.3), disconnected hands, disconnected limbs, amputation, (semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime, doll, overexposed, photoshop, oversaturated:1.4)
4) CLICK GENERATE as many times as you want until you get what you want. Play with the parameters (especially the ControlNet weights) and see how it changes the results
5) If needed, after selectiong the winner image, make small corrections (fingertips, etc) using Photoshop/Paint Shop Pro/Gimp/etc
6) EXTRA STEP FOR CASES WHERE YOU NEED TO KEEP THE EXACT SAME FACE ON THE OUTPUT (used in the "Einstein Example" below)
a. If your input image is a very close shot of someone’s face, or if the input image is not as clear as it could be, maybe the resulting colored image will be a likeness of the original person, but slightly different. There’s no magical solution for this, but I’ve used a method (outside Stable Diffusion) that gave me good results BUT ONLY WORKS WHEN THE BACKGROUND IS EXACTLY THE SAME IN BOTH IMAGES:
i. I’ve used Paint Shop Pro, that I own, but you can do the same using Photoshop, Gimp and other image editing software
ii. Load the ORIGINAL image into Paint Shop Pro
iii. Also load the COLORED image into PSP
iv. RESIZE one of them to be the exact same size of the other (not only the RATIO, but the PIXEL SIZE). In PSP it’s possible to upscale the smaller image using an “AI UPSCALER”, or you could do the same using Stable Diffusion or Topaz Gigapixel (if you own it). Anyway, the ideal would be to UPSCALE the smaller image, not to DOWNSCALE the larger one, but if you can’t do it, then downscale it is.
v. After you have both images with the exact same size (width and height) and IF YOU HAVE USED THE EXACT SAME RATIO FOR THE INPUT AND OUTPUT IMAGES as instructed in the PREPARATION step, you’re good to go
vi. Go to the original, B&W image that you’ve loaded in PSP, and create a new RASTER LAYER
vii. Go to the colorized image (that was also loaded), select the entire image (CONTROL+A) and COPY IT TO THE CLIPBOARD (CONTROL+C)
viii. Go back to the original B&W image, select the new, empty layer, and again select the entire image (CONTROL+A). Then, paste the contents of the clipboard into the selection (CONTROL+SHIFT+L)
ix. Now you have two layers: the bottom one is the B&W image (that’s not appearing at all), and the top one is the colorized image (that is the only thing you can see, as it’s covering the B&W image).
x. Now, play with the OPACITY of this top, colorized layer, trying to mix its colors with the B&W image below. In my tests, values around 50% tend to give good results. Your colors will be faded, but don’t worry, try to get a image where you have the faces below clearly visible, but using the colors from the top image. Again, if you haven’t used the exact same proportions to generate the color image, you’ll probably have two unaligned images by now, making your job harder or even impossible; and if your images have complex and different backgrounds it will be a problem.
xi. When you find something you like, select the entire image (CTRL+A) and copy it “merged”, i.e., as a flat, single layer (there’s no shortcut for this, just go to EDIT -> COPY SPECIAL -> COPY MERGED). Then, paste the image you’ve copied as a new image (CONTROL+SHIFT+V). Please note that you could also have “flattened” the image to one single layer, but keeping the original, multilayered image intact you can go back to it later and change the parameters if you’re not happy with your final result
xii. Now, go to the new, flattened image and turn the saturation up (SHIFT+H will open the slider, and then play with it). Don’t overdo it, or you will end up with an oversaturated image.
xiii. When you find the right saturation value, click OK and then open the brightness and contrast sliders (SHIFT+B) and also adjust these.
And that’s it! You now have a colorized image!

SOME EXAMPLES BELOW. The only one I've post-edited in Paint Shop Pro (using the "mixing" method from STEP 6 above) was the Einstein one, since the generated SD image had a slightly different face.
SOURCE OF THE INPUT IMAGES:
https://www.pexels.com/photo/stylish-man-with-modern-haircut-and-beard-4969919/
https://www.pexels.com/photo/woman-on-paddleboard-board-on-water-7790589/
https://www.pexels.com/photo/monochrome-photo-of-man-in-suit-7265996/
https://upload.wikimedia.org/wikipedia/commons/8/87/Albert_Einstein_and_his_wife_Mileva_Maric.jpg

https://preview.redd.it/ds065algym2b1.png?width=1157&format=png&auto=webp&s=c36aed52f04db52909f535c05a7035b107c28f97
submitted by lazyspock to StableDiffusion [link] [comments]


2023.05.28 22:17 shootthesound A note on high resolution images

A note on high resolution images
With all the talk of upscaling with Tiles etc recently (which is awesome), its worth remembering just how well vanilla HiRes fix can work at high values, like 4 X for example (512-768 2048x3072 ), especially with low config scales (2-5). I sometimes use the add detail Lora to great effect in compensating for the low cfg also.
https://preview.redd.it/7uemk0zmrm2b1.png?width=2048&format=png&auto=webp&s=fb1de21d1b59f8d3bcff9c6799016442af97dee5
submitted by shootthesound to StableDiffusion [link] [comments]


2023.05.28 20:59 TheConceptBoy Simple timer based LED blink not working.

Good day, everyone.
Delving into the world of PIC microcontroller programming. I have achieved a basic blink using __delay() function but now I want to expand into a non-blocking blink using a timer. I am having trouble getting the timer to fire. I'm not sure what I'm missing.

I am using PICkit 4 and programming a PIC16LF15323:
https://ww1.microchip.com/downloads/en/DeviceDoc/PIC16_L_F15313_23_Data_Sheet_40001897C.pdf

PS, I have created a separate bool for storing and controlling the LED state value instead of directly addressing the led pin bit because apparently there's a bug with reading and writing the bit at the same time using XOR according to this: https://forum.microchip.com/s/topic/a5C3l000000ME64EAG/t284248
// CONFIG1 #pragma config FEXTOSC = ECH // External Oscillator mode selection bits (EC above 8MHz; PFM set to high power) #pragma config RSTOSC = EXT1X // Power-up default value for COSC bits (EXTOSC operating per FEXTOSC bits) #pragma config CLKOUTEN = OFF // Clock Out Enable bit (CLKOUT function is disabled; i/o or oscillator function on OSC2) #pragma config CSWEN = ON // Clock Switch Enable bit (Writing to NOSC and NDIV is allowed) #pragma config FCMEN = ON // Fail-Safe Clock Monitor Enable bit (FSCM timer enabled) // CONFIG2 #pragma config MCLRE = ON // Master Clear Enable bit (MCLR pin is Master Clear function) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config LPBOREN = OFF // Low-Power BOR enable bit (ULPBOR disabled) #pragma config BOREN = ON // Brown-out reset enable bits (Brown-out Reset Enabled, SBOREN bit is ignored) #pragma config BORV = LO // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (VBOR) set to 1.9V on LF, and 2.45V on F Devices) #pragma config ZCD = OFF // Zero-cross detect disable (Zero-cross detect circuit is disabled at POR.) #pragma config PPS1WAY = ON // Peripheral Pin Select one-way control (The PPSLOCK bit can be cleared and set only once in software) #pragma config STVREN = ON // Stack Overflow/Underflow Reset Enable bit (Stack Overflow or Underflow will cause a reset) // CONFIG3 #pragma config WDTCPS = WDTCPS_31// WDT Period Select bits (Divider ratio 1:65536; software control of WDTPS) #pragma config WDTE = OFF // WDT operating mode (WDT Disabled, SWDTEN is ignored) #pragma config WDTCWS = WDTCWS_7// WDT Window Select bits (window always open (100%); software control; keyed access not required) #pragma config WDTCCS = SC // WDT input clock selector (Software Control) // CONFIG4 #pragma config BBSIZE = BB512 // Boot Block Size Selection bits (512 words boot block size) #pragma config BBEN = OFF // Boot Block Enable bit (Boot Block disabled) #pragma config SAFEN = OFF // SAF Enable bit (SAF disabled) #pragma config WRTAPP = OFF // Application Block Write Protection bit (Application Block not write protected) #pragma config WRTB = OFF // Boot Block Write Protection bit (Boot Block not write protected) #pragma config WRTC = OFF // Configuration Register Write Protection bit (Configuration Register not write protected) #pragma config WRTSAF = OFF // Storage Area Flash Write Protection bit (SAF not write protected) #pragma config LVP = ON // Low Voltage Programming Enable bit (Low Voltage programming enabled. MCLVpp pin function is MCLR.) // CONFIG5 #pragma config CP = OFF // UserNVM Program memory code protection bit (UserNVM code protection disabled) // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include  // include processor files - each processor file is guarded. #include  #define _XTAL_FREQ 8000000 _Bool LEDstate = 1; void main(void) { TRISA = 0b00000000; PORTAbits.RA2 = LEDstate; // reset led INTCONbits.GIE = 1; INTCONbits.PEIE = 1; INTCONbits.INTEDG = 1; TMR0H = 0x0B; TMR0L = 0xDC; T0CON0 = 0b10010000; T0CON1 = 0b01000110; while(1){ } } __interrupt() void timer_0(void){ if (PIR0bits.TMR0IF == 1){ LEDstate ^= 1; PORTAbits.RA2 = LEDstate; TMR0H = 0x0B; TMR0L = 0xDC; PIR0bits.TMR0IF = 0; } } 

submitted by TheConceptBoy to microchip [link] [comments]


2023.05.28 06:54 Allan_Titan Soul tomato?

Soul tomato?
Currently playing anniversary edition on my switch when I came across these in my inventory. And no idk where I got them from
submitted by Allan_Titan to skyrim [link] [comments]


2023.05.28 06:16 skategod0012 How do I set a new max temp in marlin

How do I set a new max temp in marlin submitted by skategod0012 to MarlinFirmware [link] [comments]


2023.05.28 03:34 Dedicated_Grinder W/L

W/L submitted by Dedicated_Grinder to bloxfruits [link] [comments]


2023.05.28 02:56 ceetharabbits2 Grand canyon 5 new or trek Marlin 7 used?

I found a trek Marlin 7 that is a year old for $700 locally. The used market here is pretty lame and doesn't offer much.
I was about to pull the trigger on a grand canyon 5 this weekend.
Which bike? The price is about the same.
I like the 1x12 on the canyon, and I've read/heard decent things about canyon bikes.
On the other hand trek is a BRAND that will retain value and has a good track record. What would you do?
submitted by ceetharabbits2 to MTB [link] [comments]


2023.05.28 02:37 spin7ion Simple voice recorder problem

Hi, everyone! I'm struggling to make a voice recorder with stm32f401, sd card over spi and I2S microphone. I've successfully make file read and file write with fatfs, but I still can't find out why I'm recording some noise. The logic analyzer shows that clock, frame and data are kind of ok as I can understand.
Here is the code I've made so far. Can anyone help me, please?
/* Includes ------------------------------------------------------------------*/ #include "main.h" #include "fatfs.h" #include "usb_device.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "stdio.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ /* USER CODE BEGIN PTD */ /* USER CODE END PTD */ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ #define I2S_DATA_WORD_LENGTH (24) // industry-standard 24-bit I2S #define I2S_FRAME (32) // bits per sample /* USER CODE END PD */ /* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM */ /* USER CODE END PM */ /* Private variables ---------------------------------------------------------*/ ADC_HandleTypeDef hadc1; I2S_HandleTypeDef hi2s3; DMA_HandleTypeDef hdma_spi3_rx; SPI_HandleTypeDef hspi1; TIM_HandleTypeDef htim4; UART_HandleTypeDef huart1; /* USER CODE BEGIN PV */ // ===FILES=== FATFS fs; FIL fil; FRESULT res; uint32_t temp_number; // === State === #define STATE_START_REC 0 #define STATE_REC 1 #define STATE_STOP_REC 2 #define STATE_WAITING 3 volatile uint8_t state=STATE_START_REC; // === Audio === #define WAV_WRITE_SAMPLE_COUNT 512 uint8_t data_i2s[WAV_WRITE_SAMPLE_COUNT]; static uint8_t first_time = 0; volatile uint8_t half_i2s, full_i2s; static uint8_t wav_file_header[44]={0x52, 0x49, 0x46, 0x46, 0xa4, 0xa9, 0x03, 0x00, 0x57 ,0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x80, 0x7d, 0x00, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x04, 0x00, 0x10, 0x00, 0x64, 0x61, 0x74, 0x61, 0x80, 0xa9, 0x03, 0x00}; static uint32_t wav_file_size; /*uint16_t aud_buf[2*BUFFER_SIZE]; // Double buffering unsigned int written=0; unsigned long fileSize = 0L; unsigned long waveChunk = 16; //bit size unsigned int waveType = 1; // unsigned int numChannels = 1; //1:mono 2:stereo unsigned long sampleRate = 15625; //samples per sec unsigned long bytesPerSec = 46875; //samplerate*NumChannels*(Bitpersample/8) unsigned int blockAlign = 3; //NumChannels*Bitpersample/8 unsigned int bitsPerSample = 24; unsigned long dataSize = 0L; unsigned long recByteSaved = 0L; char bytes[5]; int lenOfBufferToWrite = 0; int temp = 0;*/ /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_DMA_Init(void); static void MX_ADC1_Init(void); static void MX_SPI1_Init(void); static void MX_USART1_UART_Init(void); static void MX_TIM4_Init(void); static void MX_I2S3_Init(void); /* USER CODE BEGIN PFP */ void errorHandler(); /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ void convert_endianness(uint32_t *array, uint16_t Size) { for (int i = 0; i < Size; i++) { array[i] = __REV(array[i]); } } void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s) { full_i2s = 1; } void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s) { half_i2s = 1; } void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim->Instance == htim4.Instance) { if(state==STATE_REC){ state=STATE_STOP_REC; } } } int _write(int file, char *ptr, int len) { int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) { ITM_SendChar(*ptr++); } return len; } void start_recording_fname(char *filename, uint32_t frequency) { uint32_t byte_rate = frequency * 2 * 2; wav_file_header[24] = (uint8_t)frequency; wav_file_header[25] = (uint8_t)(frequency >> 8); wav_file_header[26] = (uint8_t)(frequency >> 16); wav_file_header[27] = (uint8_t)(frequency >> 24); wav_file_header[28] = (uint8_t)byte_rate; wav_file_header[29] = (uint8_t)(byte_rate >> 8); wav_file_header[30] = (uint8_t)(byte_rate >> 16); wav_file_header[31] = (uint8_t)(byte_rate >> 24); // creating a file res = f_open(&fil ,filename, FA_OPEN_ALWAYS FA_WRITE FA_READ); if(res != 0) { printf("error in creating a file: %d \n", res); Error_Handler(); } else { res = f_write(&fil,wav_file_header, 44,(UINT*)&temp_number); printf("Created wav \n"); } wav_file_size = 0; } void write2wave_file(uint8_t *data, uint16_t data_size) { uint32_t temp_number; printf("w\n"); if(first_time == 0) { for(int i = 0; i < 44; i++) { *(data + i) = wav_file_header[i]; } first_time = 1; } res = f_write(&fil,(void *)data, data_size,(UINT*)&temp_number); if(res != 0) { printf("error in writing to the file: %d \n", res); Error_Handler(); } res=f_sync(&fil); wav_file_size += data_size; } void stop_recording() { HAL_I2S_DMAStop(&hi2s3); half_i2s = 0; full_i2s = 0; // updating data size sector wav_file_size -= 8; wav_file_header[4] = (uint8_t)wav_file_size; wav_file_header[5] = (uint8_t)(wav_file_size >> 8); wav_file_header[6] = (uint8_t)(wav_file_size >> 16); wav_file_header[7] = (uint8_t)(wav_file_size >> 24); wav_file_size -= 36; wav_file_header[40] = (uint8_t)wav_file_size; wav_file_header[41] = (uint8_t)(wav_file_size >> 8); wav_file_header[42] = (uint8_t)(wav_file_size >> 16); wav_file_header[43] = (uint8_t)(wav_file_size >> 24); // moving to the beginning of the file to update the file format f_lseek(&fil, 0); res=f_write(&fil,(void *)wav_file_header, sizeof(wav_file_header),(UINT*)&temp_number); if(res != 0) { printf("error in updating the first sector: %d \n", res); Error_Handler(); } f_sync(&fil); f_close(&fil); first_time = 0; printf("closed the file \n"); } void incrementRunCounter() { FILINFO fno; res=f_stat("init.txt", &fno); uint8_t a=0; char test[15]; if(res==FR_NO_FILE){ res=f_open(&fil, "init.txt", FA_OPEN_ALWAYS FA_WRITE FA_READ); res=f_puts("1", &fil); }else{ res=f_open(&fil, "init.txt", FA_OPEN_ALWAYS FA_WRITE FA_READ); f_gets(test, 15, &fil); a=atoi(test); a++; sprintf(test,"%d",a); f_lseek(&fil, 0); //res=f_puts(test, &fil); res = f_write(&fil, test, strlen(test),(UINT*)&temp_number); } f_sync(&fil); res=f_close(&fil); } /* USER CODE END 0 */ /** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_ADC1_Init(); MX_SPI1_Init(); MX_USART1_UART_Init(); MX_FATFS_Init(); MX_USB_DEVICE_Init(); MX_TIM4_Init(); MX_I2S3_Init(); /* USER CODE BEGIN 2 */ //HAL_I2S_DMAStop(&hi2s2); HAL_Delay(500); printf("Hello\n"); res=f_mount(&fs, "0", 0); if(res != 0) { printf("can't mount %d\n", res); Error_Handler(); } incrementRunCounter(); HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_RESET); for(uint8_t i=0;i<3;i++){ HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_RESET); HAL_Delay(500); HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_SET); HAL_Delay(500); } start_recording_fname("test2.wav", I2S_AUDIOFREQ_32K); HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_RESET); HAL_TIM_Base_Start_IT(&htim4); state=STATE_REC; // divide by 32 because we have full word data width DMA but buffer is 1 byte array HAL_I2S_Receive_DMA(&hi2s3, (uint16_t *)data_i2s, WAV_WRITE_SAMPLE_COUNT/32); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { if(state==STATE_REC){ if(half_i2s == 1) { write2wave_file(data_i2s, WAV_WRITE_SAMPLE_COUNT/2); half_i2s = 0; } if(full_i2s == 1) { write2wave_file(data_i2s + WAV_WRITE_SAMPLE_COUNT/2, WAV_WRITE_SAMPLE_COUNT/2); full_i2s = 0; } } else if(state==STATE_STOP_REC) { stop_recording(); state=STATE_WAITING; HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_SET); } /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ } /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Configure the main internal regulator output voltage */ __HAL_RCC_PWR_CLK_ENABLE(); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 25; RCC_OscInitStruct.PLL.PLLN = 336; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; RCC_OscInitStruct.PLL.PLLQ = 7; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /** Initializes the CPU, AHB and APB buses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLKRCC_CLOCKTYPE_SYSCLK RCC_CLOCKTYPE_PCLK1RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV2; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) { Error_Handler(); } } /** * @brief ADC1 Initialization Function * @param None * @retval None */ static void MX_ADC1_Init(void) { /* USER CODE BEGIN ADC1_Init 0 */ /* USER CODE END ADC1_Init 0 */ ADC_ChannelConfTypeDef sConfig = {0}; /* USER CODE BEGIN ADC1_Init 1 */ /* USER CODE END ADC1_Init 1 */ /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) */ hadc1.Instance = ADC1; hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2; hadc1.Init.Resolution = ADC_RESOLUTION_12B; hadc1.Init.ScanConvMode = DISABLE; hadc1.Init.ContinuousConvMode = DISABLE; hadc1.Init.DiscontinuousConvMode = DISABLE; hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion = 1; hadc1.Init.DMAContinuousRequests = DISABLE; hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; if (HAL_ADC_Init(&hadc1) != HAL_OK) { Error_Handler(); } /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time. */ sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = 1; sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN ADC1_Init 2 */ /* USER CODE END ADC1_Init 2 */ } /** * @brief I2S3 Initialization Function * @param None * @retval None */ static void MX_I2S3_Init(void) { /* USER CODE BEGIN I2S3_Init 0 */ /* USER CODE END I2S3_Init 0 */ /* USER CODE BEGIN I2S3_Init 1 */ /* USER CODE END I2S3_Init 1 */ hi2s3.Instance = SPI3; hi2s3.Init.Mode = I2S_MODE_MASTER_RX; hi2s3.Init.Standard = I2S_STANDARD_PHILIPS; hi2s3.Init.DataFormat = I2S_DATAFORMAT_24B; hi2s3.Init.MCLKOutput = I2S_MCLKOUTPUT_DISABLE; hi2s3.Init.AudioFreq = I2S_AUDIOFREQ_32K; hi2s3.Init.CPOL = I2S_CPOL_HIGH; hi2s3.Init.ClockSource = I2S_CLOCK_PLL; hi2s3.Init.FullDuplexMode = I2S_FULLDUPLEXMODE_DISABLE; if (HAL_I2S_Init(&hi2s3) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN I2S3_Init 2 */ /* USER CODE END I2S3_Init 2 */ } /** * @brief SPI1 Initialization Function * @param None * @retval None */ static void MX_SPI1_Init(void) { /* USER CODE BEGIN SPI1_Init 0 */ /* USER CODE END SPI1_Init 0 */ /* USER CODE BEGIN SPI1_Init 1 */ /* USER CODE END SPI1_Init 1 */ /* SPI1 parameter configuration*/ hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi1.Init.CRCPolynomial = 10; if (HAL_SPI_Init(&hspi1) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN SPI1_Init 2 */ /* USER CODE END SPI1_Init 2 */ } /** * @brief TIM4 Initialization Function * @param None * @retval None */ static void MX_TIM4_Init(void) { /* USER CODE BEGIN TIM4_Init 0 */ /* USER CODE END TIM4_Init 0 */ TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; /* USER CODE BEGIN TIM4_Init 1 */ /* USER CODE END TIM4_Init 1 */ htim4.Instance = TIM4; htim4.Init.Prescaler = 21000; htim4.Init.CounterMode = TIM_COUNTERMODE_UP; htim4.Init.Period = 32000; htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; if (HAL_TIM_Base_Init(&htim4) != HAL_OK) { Error_Handler(); } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM4_Init 2 */ /* USER CODE END TIM4_Init 2 */ } /** * @brief USART1 Initialization Function * @param None * @retval None */ static void MX_USART1_UART_Init(void) { /* USER CODE BEGIN USART1_Init 0 */ /* USER CODE END USART1_Init 0 */ /* USER CODE BEGIN USART1_Init 1 */ /* USER CODE END USART1_Init 1 */ huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN USART1_Init 2 */ /* USER CODE END USART1_Init 2 */ } /** * Enable DMA controller clock */ static void MX_DMA_Init(void) { /* DMA controller clock enable */ __HAL_RCC_DMA1_CLK_ENABLE(); /* DMA interrupt init */ /* DMA1_Stream0_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn); } /** * @brief GPIO Initialization Function * @param None * @retval None */ static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); /*Configure GPIO pin : PIN_LED_Pin */ GPIO_InitStruct.Pin = PIN_LED_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(PIN_LED_GPIO_Port, &GPIO_InitStruct); /*Configure GPIO pin : PA4 */ GPIO_InitStruct.Pin = GPIO_PIN_4; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pin : PA8 */ GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } /* USER CODE BEGIN 4 */ /* USER CODE END 4 */ /** * @brief This function is executed in case of error occurrence. * @retval None */ void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ __disable_irq(); while(1){ HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_RESET); HAL_Delay(100); HAL_GPIO_WritePin(PIN_LED_GPIO_Port, PIN_LED_Pin, GPIO_PIN_SET); HAL_Delay(100); } /* USER CODE END Error_Handler_Debug */ } #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */ void assert_failed(uint8_t *file, uint32_t line) { /* USER CODE BEGIN 6 */ /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* USER CODE END 6 */ } #endif /* USE_FULL_ASSERT */ 
Please help me.
submitted by spin7ion to stm32f4 [link] [comments]


2023.05.27 22:51 AbrocomaFirm4287 MCU Error Klipper

Just installed Klipper for the first time. Using a Raspberry Pi 4 and a CR10S5. I flashed it as a mega2560 board. The screen on the printer is on, but does not show anything. Also I am getting this error. I've spent roughly 6 hours trying to fix this, but to no avail. Figured I'd ask on here and hopefully someone has experienced this before and solved it. Thank you in advance for any help.

Error Message:

Klipper reports: ERROR
mcu 'mcu': Unable to connect Once the underlying issue is corrected, use the "FIRMWARE_RESTART" command to reset the firmware, reload the config, and restart the host software. Error configuring printer

Printer.cfg file:

# This file contains pin mappings for the stock 2020 Creality Ender 3
# MAX. To use this config, during "make menuconfig" select the
# STM32F103 with a "28KiB bootloader" and serial (on USART1 PA10/PA9)
# communication.

# Because this printer has factory wiring, mounts, and firmware for
# a BLTouch, but does not ship with one at this time, default values
# for the sensor have been specified, but disabled, in anticipation of
# future revisions or user modification. User should take care to
# customize the offsets, particularly z-offset, for their specific unit.

# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC

# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.

# See docs/Config_Reference.md for a description of parameters.

[include mainsail.cfg]

[board_pins arduino-mega]
aliases:
ar0=PE0, ar1=PE1, ar2=PE4, ar3=PE5, ar4=PG5,
ar5=PE3, ar6=PH3, ar7=PH4, ar8=PH5, ar9=PH6,
ar10=PB4, ar11=PB5, ar12=PB6, ar13=PB7, ar14=PJ1,
ar15=PJ0, ar16=PH1, ar17=PH0, ar18=PD3, ar19=PD2,
ar20=PD1, ar21=PD0, ar22=PA0, ar23=PA1, ar24=PA2,
ar25=PA3, ar26=PA4, ar27=PA5, ar28=PA6, ar29=PA7,
ar30=PC7, ar31=PC6, ar32=PC5, ar33=PC4, ar34=PC3,
ar35=PC2, ar36=PC1, ar37=PC0, ar38=PD7, ar39=PG2,
ar40=PG1, ar41=PG0, ar42=PL7, ar43=PL6, ar44=PL5,
ar45=PL4, ar46=PL3, ar47=PL2, ar48=PL1, ar49=PL0,
ar50=PB3, ar51=PB2, ar52=PB1, ar53=PB0, ar54=PF0,
ar55=PF1, ar56=PF2, ar57=PF3, ar58=PF4, ar59=PF5,
ar60=PF6, ar61=PF7, ar62=PK0, ar63=PK1, ar64=PK2,
ar65=PK3, ar66=PK4, ar67=PK5, ar68=PK6, ar69=PK7,
analog0=PF0, analog1=PF1, analog2=PF2, analog3=PF3, analog4=PF4,
analog5=PF5, analog6=PF6, analog7=PF7, analog8=PK0, analog9=PK1,
analog10=PK2, analog11=PK3, analog12=PK4, analog13=PK5, analog14=PK6,
analog15=PK7,
# Marlin adds these additional aliases
ml70=PG4, ml71=PG3, ml72=PJ2, ml73=PJ3, ml74=PJ7,
ml75=PJ4, ml76=PJ5, ml77=PJ6, ml78=PE2, ml79=PE6,
ml80=PE7, ml81=PD4, ml82=PD5, ml83=PD6, ml84=PH2,
ml85=PH7

[stepper_x]
step_pin: ar54
dir_pin: !ar55
enable_pin: !ar38
microsteps: 16
rotation_distance: 40
endstop_pin: ^!ar3
position_endstop: 0
position_max: 500
homing_speed: 50

[stepper_y]
step_pin: ar60
dir_pin: !ar61
enable_pin: !ar56
microsteps: 16
rotation_distance: 40
endstop_pin: ^ar14
position_endstop: 0
position_max: 500
homing_speed: 50

[stepper_z]
step_pin: ar46
dir_pin: !ar48
enable_pin: !ar62
microsteps: 16
rotation_distance: 8
#position_endstop: 0.0 # disable to use BLTouch
#endstop_pin: ^PA7 # disable to use BLTouch
endstop_pin: probe:z_virtual_endstop # enable to use BLTouch
position_min: -5 # enable to use BLTouch
position_max: 500

[safe_z_home] # enable for BLTouch
home_xy_position: 150, 150
speed: 100
z_hop: 10
z_hop_speed: 5

[bltouch] # enable for BLTouch - fast-mode
sensor_pin: ^ar19
control_pin: ar11
pin_up_touch_mode_reports_triggered: True
probe_with_touch_mode: True
x_offset: -47 # modify as needed for bltouch location
y_offset: -1 # modify as needed for bltouch location
z_offset: 0.0 # modify as needed for bltouch or run PROBE_CALIBRATE
speed: 10
samples: 2
sample_retract_dist: 5.0 # Can be set lower, example 2.5 depending on height of bltouch from bed
lift_speed: 40
samples_tolerance_retries: 3
speed: 10
samples: 2

[bed_mesh] # enable for BLTouch
speed: 150
mesh_min: 50, 50
mesh_max: 500, 500
algorithm: bicubic
probe_count: 7,7 # 49 points due to large bed size
horizontal_move_z: 6


[gcode_macro G29] # If moving from marlin to klipper uncomment to mimic G29
gcode:
BED_MESH_CALIBRATE
# G1 X0 Y0 Z10 F4000

[extruder]
max_extrude_only_distance: 100.0
step_pin: ar26
dir_pin: !ar28
enable_pin: !ar24
microsteps: 16
rotation_distance: 7.754 # Calibrate - see https://www.klipper3d.org/Rotation_Distance.html
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog13
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250
pressure_advance: 0.0 # Calibrate - see https://www.klipper3d.org/Pressure_Advance.html


[heater_bed]
heater_pin: ar8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog14
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 1

[fan]
pin: ar9

#[filament_switch_sensor e0_sensor]
#switch_pin: PA4

[mcu]
serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06P8GX-if00-port0 # Run ls /dev/serial/by-id/* for micro-controller name
restart_method: command

[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 2000
max_z_velocity: 5
max_z_accel: 100

[display]
lcd_type: st7920
cs_pin: EXP1_4
sclk_pin: EXP1_5
sid_pin: EXP1_3
encoder_pins: ^EXP2_3, ^EXP2_5
click_pin: ^!EXP1_2

[output_pin beeper]
pin: EXP1_1

[virtual_sdcard]
path: ~/printer_data/gcodes

[pause_resume]
submitted by AbrocomaFirm4287 to klippers [link] [comments]


2023.05.27 20:36 DryGift1435 Which XPS is right for me?

Hi! I'm looking for some advice on my first XPS.
For context, I'm a college student and I program quite a bit (mostly pretty light stuff but sometimes with some deep learning/neural network stuff). I've been using Lenovo 14" ideapads for my whole life and I love them--sturdy powerful laptops at great prices. And the 14 inch size has been great.
But I'm now considering upgrading to an XPS. My options are:
  1. XPS 13 Plus, with a 13th gen i7 P series, 16GB RAM, 512 SSD for $1399
  2. XPS 13, with a 12th gen i7 U series, 16GB RAM, 512 SSD for $899
  3. XPS 15, with a 12th gen i7 H series, 16GB RAM, 512 SSD for $1149
2 and 3 are pretty heavily discounted, and I don't think 1 is on a discount right now. I'm basically wondering if the upgrade to a 13th gen i7 is gonna add that much value to me. I've heard of heating being a problem on the 12th gen processors for XPS.
3 also has an 12 gen H series processor. Would that be better than a 13th gen P series?
Any advice is appreciated given what I'd use it for. Would also like to know which is the best bang for my buck.
submitted by DryGift1435 to DellXPS [link] [comments]


2023.05.27 20:35 DryGift1435 Which XPS should I get?

For context, I'm a college student and I program quite a bit (mostly pretty light stuff but sometimes with some deep learning/neural network stuff). I've been using Lenovo 14" ideapads for my whole life and I love them--sturdy powerful laptops at great prices. And the 14 inch size has been great.
But I'm now considering upgrading to an XPS. My options are:
1) XPS 13 Plus, with a 13th gen i7 P series, 16GB RAM, 512 SSD for $1399
2) XPS 13, with a 12th gen i7 P series, 16GB RAM, 512 SSD for $899
3) XPS 15, with a 12th gen i7 H series, 16GB RAM, 512 SSD for $1149
2 also has an OLED screen. I've never had a touch OLED screen before so idk if that'll matter that much.
2 and 3 are pretty heavily discounted, and I don't think 1 is on a discount right now. I'm basically wondering if the upgrade to a 13th gen i7 is gonna add that much value to me. I've heard of heating being a problem on the 12th gen processors for XPS.
3 also has an 12 gen H series processor. Would that be better than a 13th gen P series?
Any advice is appreciated given what I'd use it for. Would also like to know which is the best bang for my buck.
submitted by DryGift1435 to SuggestALaptop [link] [comments]


2023.05.27 14:59 GG_Ens Potentiometers wobbling using Arduino Joystick Library

Hi this is my first project with arduino and it turns out to be very successful but the things is that potentiometers wobbles when another potentiometer is on a specific value.
Using:
Arduino Leonardo
Arduino Joystick Library
3 potentiometers and one gamepad joystick (Some toggle switches but those work fine)
```

include

// Init hat buttons int hat_button_pins[4] = {13, 12, 11, 10}; // Button pins, according to the angles in hat_button_angles_1d - 0 is up, 90 is right. int hat_button_angles_1d[4] = {0, 90, 180, 270}; int hat_button_angles_2d[4][4] = { {0, 45, -1, 315}, {45, 90, 135, -1}, {-1, 135, 180, 225}, {315, -1, 225, 270}, };
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 14, 0, // Button Count, Hat Switch Count true, true, false, // X, Y, Z Axis false, true, true, // Rx, Ry, Rz false, true, // rudder, throttle false, false, false); // accelerator, brake, steering
void setup() { // Initialize Button Pins for (int i=0; i<14; ++i){ pinMode(i, INPUT_PULLUP); } // Initialize Analog Pins pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(A4, INPUT); pinMode(A5, INPUT);
// Initialize Joystick Library Joystick.begin(false); //false = dont send automatically. We will sendState() at the end of the loop Joystick.setThrottleRange(-512, 512); Joystick.setXAxisRange(-512, 512); Joystick.setYAxisRange(-512, 512); Joystick.setRxAxisRange(-512, 512); Joystick.setRyAxisRange(-512, 512); Joystick.setRzAxisRange(-512, 512); }
void loop() { Joystick.setThrottle(map(analogRead(A4) , 0, 1023, -512, 512)); Joystick.setXAxis(map(analogRead(A3) , 0, 1023, -512, 512)-1); Joystick.setYAxis(map(analogRead(A2) , 0, 1023, -512, 512)-1); Joystick.setRxAxis(map(analogRead(A1) , 0, 1023, -512, 512)); Joystick.setRyAxis(map(analogRead(A5) , 0, 1023, -512, 512)); Joystick.setRzAxis(map(analogRead(A0) , 0, 1023, -512, 512));
for (int i=0; i<14; ++i){ Joystick.setButton(i, !digitalRead(i)); }
Joystick.sendState(); delay(10); } ```
A video of what happens https://imgur.com/a/Jl5z9wB
submitted by GG_Ens to arduino [link] [comments]


2023.05.27 09:45 AccordingMongoose902 I’m a Zillionaire

I’m a Zillionaire
Just became a Zillionaire by investing in crypto for years lmao
submitted by AccordingMongoose902 to BitLifeApp [link] [comments]


2023.05.27 08:31 hikaruu876 HELP: Aurora R13 suddenly loud fan than started to have fan related issue and cannot boot correctly,


https://reddit.com/link/13t01v7/video/gu26mp8gjb2b1/player
I had this Alienware Aurora R13 working perfectly out of the box for about 6 months but my machine became unusable after a crash last night. PC worked normally all night yesterday until a sudden loud fan noise and severe slow down of my system during gaming. I checked the temps right away and saw the CPU spiked up to 99 C when there were no heads up signs that my CPU was overheating all this time. Every time I check my temp during gaming when there is slight fps drop the temp always looked decent at around 40-60 C and I have never experienced any crash from using the PC until now. After the crash, the computer was able to boot up but showed "CPU fan detect failure", and started to turn on and off within seconds. Even when I was able to get into windows a few times, the system shut itself down randomly and won't pass 5 mins usage time. The fan is super loud at start up and throughout the whole time when I was able to boot into windows.
Things that I tried before posting here:
-I've tried changing the AC recovery to "on" in BIOS settings as I had search this fixes the issue for some Alienware user when experience the same problem.
-Resetting CMOS for 30 mins.
-Unplug the CPU fan and swap around pins to see if it was a faulty connection to the motherboard.
-Clean the dust from rear fan.
-Check BIOS to see if it's up to date. (I have the latest BIOS)
-Check/clean thermal paste residue and re-paste thermal paste of CPU.
None of the above solved the problem unfortunately,

At this point, I am so lost and don't know what to do with this machine. I could ask Best Buy's Geek Squad to check on this but since I've put in a 4070ti and open up the case to swap out rams and ssd for my PC, I am not sure if Dell or Best Buy will still value their warranty. If the PC was able to be working again, I am planning to upgrade into a 240mm AIO in the future to help with cooling. Therefore, it would be my last resort to go to Dell or Geeks squad but I'd like to see if there is anything I can do before going this route.
The PC was bought from Best Buy Canada and this is the specs.
CPU: i7-12700F
GPU: RTX 3070 at the start, but I upgraded into a 4070ti for about 2 months now. The temps was fine and nearly the same after the upgrade.
Rams: 16 GB stock crucial ram, DDR5 4400MHz, later added 32 GB more ram
Storage: 512 GB NVMe M.2 PCIe SSD, 1TB SATA, later added 1TB SSD
PSU: Dell's stock PSU 750W
Cooling: Stock 120mm AIO + 3 stock fans
I am suspecting changing an AIO will solve this but at the same time I am not sure if it is a faulty motherboard or a fried CPU. No matter what I do, the system at boot up always show CPU fans detect failure.
Overall, Dell is very disappointing experience. I had an Alienware laptop M17 R3 before this and it had terrible overheating issue that fried my battery and screen. It was sent to Geek Squad for repair but the battery and overheating problem never went away completely. A week ago that laptop also died, it cannot be charged or even turn on even with battery taken off.
I recently started learning editing and rendering video for a side job and I suspect the rendering might be the culprit here. However, it still baffles me that the machine just died instantly without any signs that the machine couldn't handle the workload.
The reason I upgraded into this PC because I thought it would at least solve the overheating issue and last for a longer time. The quality and performance of the machine for 6 months was excellent for my work and gaming experience but now this happened. It's safe to say that I don't think I would ever go with an Alienware again in my life. I guess it's probably time to build one myself.
I've attached a video to show the hardware problem as well. (The clicking sound in my video is not me pressing the power button. It has a clicking sound every time it turns on)
Any Help or suggestion will be greatly appreciated!
submitted by hikaruu876 to AlienwareTechsupport [link] [comments]


2023.05.27 04:11 ChucksFeedAndSeed Yuzu TotK fixed-1080p-AO build (EA 3617)

Test build of a mod that fixes the ambient occlusion breaking when using full-res 1080p patches on TotK by disabling scaling on the AO texture/image, leaving the AO as it would be in vanilla/unpatched game, so the shading from it mostly matches between handheld/docked fine.
From what I've seen this will only affect AO, but can't be 100% sure since I couldn't find a great way to identify the texture for it, looks like this method usually affects 3 different textures/images, hopefully those are all AO related ones.
(the worst that could happen is some minor thing won't become affected by the upscaler, I never saw anything like that in my testing though)
Many thanks to Wollnashorn for looking into this & describing the issue in the Yuzu discord, hopefully a proper fix for this can be added to Yuzu soon, especially since Ryu never had this problem to begin with.
(if anyone is willing to make comparison pics between vanilla/1008p/1080p it'd be appreciated, happy to add a link & credit here, imgsli is a decent comparison site but does recompress to JPG afaik, maybe there is a better place?)
Build is based on Yuzu EA 3617. (note that replacing the yuzu.exe of any newer EA build will downgrade that build to 3617, will hopefully have a solution for newer builds soon)
Setup:
  • extract provided yuzu.exe into a Yuzu EA 3617 install, replacing existing yuzu.exe file.
  • throw the included 1080p ChuckPatch into your Yuzu mod folder (right click game in game list -> Open Mod Data Location)
  • restart Yuzu, right click game -> properties, make sure ChuckPatch 1080p is enabled
  • start game, and make sure to set to Docked to use 1080p!
You can check whether AO is working properly by switching between Docked/Handheld mode, with this fixed build the shadowing should hopefully match between them.
YuzuEA3617_TotK-AO-Fix_v2.zip: https://pixeldrain.compQXtRFz3 - VirusTotal: 0/62
This hasn't been tested too much yet, if you notice any issues (eg. differences between docked/handheld in a certain area) please feel free to let me know!
If you get crashing when loading the game, try downloading the "Full Yuzu EA 3617 + AOFix" pack linked below, and extract it to a fresh folder somewhere, seems there may be some incompatibility between older Yuzu files and this build.
(if crashing persists try disabling the Force maximum clocks setting in Graphics > Advanced, and maybe remove/rename the %Appdata%\yuzu\shader\ folder too)
If you'd like to support my work I have a ko-fi page at https://ko-fi.com/ChucksFeedAndSeed :)
Check out my Dynamic FPS v1.5.1 and Visual Patches for v1.1.2 mods too!
(The visual patches are already included in the ZIP above, feel free to check out the post about it though)
Extra downloads:
Full Yuzu EA 3617 + AOFix: https://pixeldrain.comHCx1SDaS (virustotal: 0/62)
Full Yuzu Mainline d6db42209 + AOFix: https://pixeldrain.commDBJ4Vkg (virustotal: 0/62)
Updated patchsets for all versions v1.0.0 - v1.1.2:
1008p-Docked&HH + FSRDisable + QualityReduceFix + Shadow1024.zip
1080p-Docked&HH + FSRDisable + QualityReduceFix + Shadow1024.zip (removed due to crashes in handheld mode, hopefully have a fix soon...)
1080p-Docked + FSRDisable + QualityReduceFix + Shadow1024.zip (only updates docked mode to 1080p, handheld uses 720p)
If you want handheld mode to run at 1080p (slight performance increase over docked), grab the 1080pDocked&HH pack above.
Wollnashorn's Anisotropic Fix is also recommended for the game too: https://github.com/Wollnashorn/switch-mods/tree/maste0100F2C0115B6000
Git diff:
diff --git a/src/video_core/texture_cache/image_info.cpp b/src/video_core/texture_cache/image_info.cpp index e8ddde6..4353eae 100644 --- a/src/video_core/texture_cache/image_info.cpp +++ b/src/video_core/texture_cache/image_info.cpp @@ -115,6 +115,13 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept { rescaleable &= (block.depth == 0) && resources.levels == 1; rescaleable &= size.height > 256 GetFormatType(format) != SurfaceType::ColorTexture; downscaleable = size.height > 512; + + // Disable rescaling if this is a TotK 1080p AO texture (height = 1080 / 4) + // Try narrowing to just the AO texture by checking some characteristics of it: + if (size.width == 480 && size.height == 270 && size.depth == 1 && + config.border_size.Value() == 7) { + rescaleable = false; + } } } @@ -156,6 +163,13 @@ ImageInfo::ImageInfo(const Maxwell3D::Regs::RenderTargetConfig& ct, downscaleable = size.height > 512; type = ImageType::e2D; resources.layers = ct.depth; + + // Disable rescaling if this is a TotK 1080p AO texture (height = 1080 / 4) + // Try narrowing to just the AO texture by checking some characteristics of it: + if (size.width == 480 && size.height == 270 && size.depth == 1 && + ct.format == Tegra::RenderTargetFormat::R32_FLOAT && ct.volume.Value() == 0) { + rescaleable = false; + } } } 
submitted by ChucksFeedAndSeed to u/ChucksFeedAndSeed [link] [comments]


2023.05.27 02:12 AtomicSilo Batch Extract Metadata from PNG files

So I saw this as a question and thought it would be better as a separate post for anyone who needs this for all their PNG files.
Ported the tutorial to Rentry for better coloring schema.
A big thanks to ChatGPT for offering yet another insightful tip. Slowly but surely replacing "knowledgeable humans" one question at a time.
This script or tutorial is designed for extracting PNG metadata, particularly generated within Automatic1111. Depending on the WebUI you're using, you might need to adjust it slightly.
To pull out metadata from a collection of PNG files and save that data into a text file, you could use a blend of Python and the Python Imaging Library (PIL), or its descendant, Pillow. Below is a detailed guide to assist you through the process:
  1. Install the required libraries:

pip install pillow 
  1. Create a Python script (e.g., extract_metadata.py) and import the necessary modules:
    from PIL import Image import os
  2. Define the directory path where your PNG files are located and the output text file path:
    input_dir = "path/to/png/files" output_file = "path/to/output.txt"
  3. Open the output text file in write mode:
    with open(output_file, "w") as f: # Iterate over each file in the input directory for filename in os.listdir(input_dir): # Check if the file is a PNG file if filename.endswith(".png"): # Open the image file image_path = os.path.join(input_dir, filename) image = Image.open(image_path)
     # Extract the metadata metadata = image.info # Write the metadata to the text file f.write(f"File: {filename}\n") f.write(f"Metadata: {metadata}\n") f.write("\n") # Close the image file image.close() 
  4. Once you've added the desired logic for handling the metadata, save and run the Python script:
    python extract_metadata.py
The script will iterate through all the PNG files in the specified directory, extract their metadata using PIL/Pillow, and write the file name and metadata to the output text file. Each file's metadata will be separated by a blank line.
As you notice from the above, it is a basic code extraction. I had to go back and forth with ChatGPT to get the following file. It is better looking and more readable. Separates each metadata nicely and adds a title as well:
New code:
import os from PIL import Image # Directory containing the PNG files input_dir = "path/to/png/files" # Output file path output_file = "path/to/output.txt" # Open the output file in write mode with open(output_file, "w") as f: # Iterate over each file in the directory for filename in os.listdir(directory): if filename.endswith(".png"): file_path = os.path.join(directory, filename) try: # Open the image file image = Image.open(file_path) # Get the metadata (EXIF) from the image metadata = image.info # Extract positive prompt and negative prompt positive_prompt = metadata["parameters"].split("\n")[0] negative_prompt = metadata["parameters"].split("\n")[1].split(": ")[1] # Find the index of the first occurrence of "Steps" in the parameters steps_index = metadata["parameters"].index("Steps:") # Extract the information from the first "Steps" onwards steps_info = metadata["parameters"][steps_index:].split("\nTemplate")[0] # Format the steps_info into separate key-value pairs steps_list = steps_info.split(", ") # Write the extracted information to the output file f.write(f"File: {filename}\n\n") f.write(f"Positive Prompt: {positive_prompt}\n\n") f.write(f"Negative Prompt: {negative_prompt}\n\n") # Write the formatted steps_info to the output file f.write("Configurations:\n") for step in steps_list: f.write(f"{step}\n") f.write("---\n") # Close the image file image.close() except Exception as e: print(f"Error processing file: {filename}") print(e) 
So now the original output goes from this:
File: 50-1007953940-20230526162755-alphones mucha girl warrior with curly green hair big piercing in the nouse standing with ghost deers warm colors art.png {'parameters': 'alphones mucha girl warrior with curly green hair big piercing in the nouse standing with ghost deers warm colors art-nouveau on paper, smile, nature, fresco mucha flowers in the eyes bleach,8k, vivid colors,hdr\nNegative prompt: bad-picture-chill-75v, style-rustmagic-neg\nSteps: 50, Sampler: DPM++ SDE Karras, CFG scale: 10, Seed: 1007953940, Size: 512x768, Model hash: 4d91c4c217, Model: RA_lyriel_v15, Denoising strength: 0.5, Version: v1.2.1, Hires upscale: 2, Hires steps: 25, Hires upscaler: 4x-UltraSharp\nTemplate: alphones mucha girl warrior with curly green hair big piercing in the nouse standing with ghost deers warm colors art-nouveau on paper, smile, nature, fresco mucha flowers in the eyes bleach,8k, vivid colors,hdr\nNegative Template: bad-picture-chill-75v, style-rustmagic-neg'}
To this:
File: 50-1007953940-20230526162755-alphones mucha girl warrior with curly green hair big piercing in the nouse standing with ghost deers warm colors art.png
Positive Prompt: alphones mucha girl warrior with curly green hair big piercing in the nouse standing with ghost deers warm colors art-nouveau on paper, smile, nature, fresco mucha flowers in the eyes bleach,8k, vivid colors,hdr
Negative Prompt: bad-picture-chill-75v, style-rustmagic-neg
Configurations: Steps: 50 Sampler: DPM++ SDE Karras CFG scale: 10 Seed: 1007953940 Size: 512x768 Model hash: 4d91c4c217 Model: RA_lyriel_v15 Denoising strength: 0.5 Version: v1.2.1 Hires upscale: 2 Hires steps: 25 Hires upscaler: 4x-UltraSharp
Each png meta data will be separated
Make sure to replace "path/to/png/files" with the actual path to your PNG files directory and "path/to/output.txt" with the desired path and name for the output text file.
To-Do:
--prompt "alphones mucha girl warrior with curly green hair big piercing in the nouse standing with ghost deers warm colors art-nouveau on paper, smile, nature, fresco mucha flowers in the eyes bleach,8k, vivid colors,hdr" --negative_prompt "bad-picture-chill-75v, style-rustmagic-neg" --steps 50 --sampler_name "DPM++ SDE Karras" --cfg_scale 10 --seed 1007953940 --width 512 --height 768 --sd_model "RA_lyriel_v15"
Note: I added the code in Github.
Edit: Added a better way to generate an output file and format. Also, added a Rentry article for broader exposure.
submitted by AtomicSilo to StableDiffusion [link] [comments]


2023.05.26 23:54 Adventurous-Proof622 which one they recommend me buy

which one they recommend me buy submitted by Adventurous-Proof622 to pcmasterrace [link] [comments]