ESP32, enabling external 32kHz crystal - esp32

I'm having the damnedest time finding reliable docs on using an external quartz 32khz crystal with my esp32 project. I'm using ESP-IDF.
My external 32khz crystal is hooked up to IO32 and IO33 (those should be the right pins).
I'm currently using ESP-IDF 4.4.3.
I've gone in through menuconfig and turned on everything I can think to turn on. Here are the changes I made...
======== The settings changes I made in menuconfig ========
The `>` notation shows how I navigated the menus.
> Component Config
> ESP32-specific
> RTC clock source
* set to `External 32kHz crystal`
> Component Config
> ESP32-specific
> Additional current for external 32kHz crystal
* left at `none`
> Component Config
> Bluetooth
* Enable Bluetooth
> Component Config
> Bluetooth
> Bluetooth controller
> MODEM SLEEP Options
> Bluetooth low power clock
* set to `External 32kHz crystal`
> Component Config
> Bluetooth
> Bluetooth Host
* select `nimBLE - BLE only`
And still I'm getting no oscillation signal when I look at the crystal with an oscilloscope.
Is there anything I need to do in C++ to enable my external 32khz crystal? To initialize it? To set the pins up correctly to use the crystal? The docs only talk about settings changes in menuconfig, I don't see any code I'm supposed to employ.
Do you see anything I'm missing?
==============
In response to hcheung below, here's a schematic of our quartz setup...

Related

Warning #224: Cannot determine machine load balance - Using KMP_DYNAMIC_MODE=thread limit

Hi I got thi error on a application = Cyclone Register
OMP: Warning #224: Cannot determine machine load balance - Using KMP_DYNAMIC_MODE=thread limit
Its this issue solvable by user or it need correction in actual code of the application ?
App fall back form multithread to single thread work, so hard limitation.
Tested on i9 and DualXeon v1, same issue
Solved today with help of support, but this can be a solution for others. app running under Windows 10 x64, unknown complier or etc.
Open the Start Search, type in “env”, and choose “Edit the system environment variables”: - Click the “Environment Variables…” button.
It need to be added to Windows as a variable
Variable name = KMP_DYNAMIC_MODE
Variable Value = thread_limit
Set the environment variables as needed. The New button adds an additional variable. - Dismiss all of the dialogs by choosing “OK”. Your changes are saved!

Accidentally deleted IOS on 3750G Switch

I accidentally deleted the IOS on 3750G Switch. As a result, I am thrown in the ROMMON mode when I console into the switch via Putty. I tried the following:
1) I set up my static IP as 192.168.168.167 255.255.255.0 with default gateway as the same as my switch's IP 192.168.168.168
2) I set the IP on the switch as 192.168.168.168 255.255.255.0 and default gateway as 192.168.168.167. I set the TFTP Server's IP same as my laptop's static IP.
3) Then I typed tftpdnld after I placed the new IOS on the to TFTP root folder.
That failed when I did all this on Putty. The switch was not able to read the Ethernet cable.
By the way, the show command does not work on ROMMON mode via Putty
Furthermore, the show command does not work on ROMMON mode. I have the IOS that will be uploaded into the switch. But how do I do that? Please help. Thanks. I am doing all this via console. Here is the site I used as a guide: http://www.mikcx.com/cisco-ios-deleted-by-mistake-recovery-guide/
I got it fixed and followed the rules below (I used ExtraPutty!!)
There are times when the IOS on a switch may crash and (as a last resort) you need to use the painfully slow Xmodem transfer to save your life. I bought a 3550 a while back and that is precisely what happened with me. Without much else to try, I decided to give Xmodem a shot. I want to share how this can be used and I hope that this may be useful to others.
Since the device is in ROMMON, there’s not much that you can do. There is, however, a method to transfer another IOS using a direct console connection with a PC (the transfer is over your console cable itself). This wonderful little thing is called Xmodem. Now the rate of transfer depends on the baud rate that you set for your console connection. I tried this with baud set to 9600 and man, it seemed like it would take over 3 hours for the transfer to complete. With a little trial and error, I found that the maximum baud rate I could set it up to work perfectly with was 57600. You can set the baud rate in ROMMON using the set BAUD command. See below:
switch: set BAUD 57600
This MUST also match on the terminal program setting as well. So (I’m using TeraTerm) under Setup -> Serial Port, set the baud rate to match whatever you set it as in ROMMON. Now we’re ready to transfer the file. The command is very straight forward:
switch: copy xmodem: flash:c3550-ipservicesk9-mz.122-44.SE6.bin
Once you press enter, you see the following:
Begin the Xmodem or Xmodem-1K transfer now…
C
At this point, you need to choose the file location from the terminal program. Go under File -> Transfer -> Xmodem -> Send and choose the file that you wish the transfer. The transfer will start and you will see a transfer window pop up. I made sure when the following image popped on ExtraPutty terminal ---> flash:c3750-ipbasek9-mz.150-2.SE8.bin Begin the Xmodem or Xmodem-1K transfer now... CCCCCCCCCCxmodem and I quickly went to the panel and click Xmodem located at the panel on top and click send and drag the c3750-ipbasek9-mz.150-2.SE8.bin file and have it sent through. Hence it explained why I kept get an I/O error, which made sense. Input error because the switch was waiting for me to send it the OS file.
Please take a look at this link for future reference and many thanks to this author who wrote this up: https://supportforums.cisco.com/blog/151336/loading-ios-switch-xmodem

Azure: Application logs are switched off. You can turn them on using the 'Diagnostic logs' settings

This is hopefully a quick question.
I've got a Microsoft Azure Web Application.
If I navigate to the following location within my webapp in portal.azure.com:
Microsoft Azure > Browse > All resources > (MY APP) > Tools > Streaming logs
I get the error message:
Application logs are switched off. You can turn them on using the 'Diagnostic logs' settings.
However, it gives me no reference on where I go to do this. Checking under "Application Settings" for the application I do not see anything that matches this name, and I haven't found any of the "logging" settings to work to enable this "Streaming Logs".
Can anyone, please help point me to how I turn this on?
To enable diagnostic logging on your app in azure. Go to:
Portal.azure.com > (Your App) > Diagnostic settings > Add Diagnostic setting
To view your application and web server logs. Go to:
(Your App) > Log Stream
Turn it on here:
Azure -> App Service -> App Service logs -> Application Logging (Filesystem) -> ON
Then for 12 hours you can view it here:
Azure -> App Service -> Log stream
I figured it out. Within portal.azure.com:
Microsoft Azure > (My App) > Settings > Logs
There are all the settings for enabling the logs.
Its 3 years later (July 2018) and things seem to be rearranged.
From https://learn.microsoft.com/en-us/azure/app-service/web-sites-enable-diagnostic-log.
Azure > (My App) > Settings / Monitoring (down LH Side) > Diagnostic Logs to turn on.

Setting the Debug version of the Direct3D runtime won't stick

When I open the DirectX control panel and open the Direct3D 9 tab and set "Use Debug Version of Direct3D 9" and hit "OK" or "Apply," there are no errors. If I open the control panel again, it is back to "Use Retail Version of Direct3D 9." When I try to debug my application, I don't get any output from Direct3D.
When I last did this a few months ago, everything worked correctly and I got debug output.
Running the control panel as Administrator doesn't seem to make a difference and the registry key mentioned here http://www.gamedev.net/topic/514529-cant-use-debug-version-of-direct3d/ is set to one.
What else can I try?
Same thing happened to me. It looks like that TrustedInstaller took ownership of some registry keys (including HKLM/SOFTWARE/Microsoft/Direct3D which dxcpl modifies).
Found a solution here. You just have to change ownership of that regkey.
I've seen this happen and sort of collected best practices to try and get this thing working online - you can try it
1.) There's a separate control panel for x86 and x64 applications in DirectX, There is the DirectX Control Panel which comes with the sdk and there you can set to use the d3d debug runtime and the verbosity level. There is also an option for shader debugging and memory check.
2.) Link against d3dx9d.lib instead of d3dx9.lib
3.) Try adding #pragma comment(lib, "d3dx9d")
4.) Use #define D3D_DEBUG_INFO, but use that before including the d3d9 headers.
5.) Check the Use Debug Version of Direct3D 9 in the properties window like so
http://i.stack.imgur.com/WoZAH.png
6.) Use a tool like DebugView
Sources:
http://www.gamedev.net/topic/514529-cant-use-debug-version-of-direct3d/
https://gamedev.stackexchange.com/questions/24541/cant-get-debug-spew-for-direct3d9
for me the solution was this:
"Looking at the permissions on the key can you not hit the "advanced" button? then click the "owner" tab put a check in the bottom box, then highlight the administrators group, then check "take ownership"."
via: http://www.tomshardware.co.uk/forum/238556-45-cannot-modify-delete-change-permissions-registry
after doing this i was able to give my user full access to HKLM/SOFTWARE/Microsoft/Direct3D and then the ctrlpanel kept its settings.

How to debug LPC1768 using Keil + H-JTAG over LPT

I have a LPC1768 based board. And a H-Jtag Debugger(LPT based). I am able to Detect/Erase/Flash HEX files to the LPC1768 using H-JTAG software.
I want to debug my board inside keil uVision. As I go into debug mode keil gives 'USB connection Error' and subsequently no code updation/debug happens. I think It shouldn't be looking for a usb connection, but it should be connecting to the H-Jtag server running in background which it doesn't.I couldn't find a setting which I can configure to tell keil to look/connect to H-JTAG server.
Anybody who has done this please point me in right direction ?
I got the debugging Working by following this.
Here is the list of steps for reference.
Install the latest H-JTAG software from H-Jtag site.
Open Toolconf.exe(Part of H-Jtag software installation). And pass the TOOLS.INI(Located inside the directory where you installed uVision/Keil MDK. Mine is at "C:\Embedded\keil\")
Open Flasher.exe, Select proper Target(mine was NXP --> LPC1768) in Flash Selection menu, and in Programming Menu set the TYPE to Auto Flash Download
Open the H-jtag.exe. Go to the Setting tab USB/LPT Selection Option select LPT and set proper values in LPT Jtag settings and LPT Port settings options (usually default settings will work).
Finally, go to Flasher tab and Check on the AUTO DOWNLOAD option. That's it !
Now you are ready to debug the device( LPC1768 ) inside uVision. Open the uVision and do select the H-JTAG CORTEX M3 for *Debug* and *Utilities* TABs inside Project Property window.
Write, compile, Build and Start Debugging !

Resources