text:
currentColor doesn't work

as Example
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

import 'package:jovial_svg/jovial_svg.dart';

class SvgLocalWidget extends StatelessWidget {
  final double? height;
  final double? width;
  final Color? color;

  final String assetPath;

  const SvgLocalWidget({
    this.height,
    this.width,
    required this.assetPath,
    this.color,
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: height,
      width: width,
      child: ScalableImageWidget.fromSISource(
        si: ScalableImageSource.fromSvg(
          rootBundle,
          assetPath,
          currentColor: Colors.red
        ),
        fit: BoxFit.cover,
        reload: false,
      ),
    );
  }
}

Current Color works problem was in SVG

@Hellomik2002  I think I have the same problem, could you tell me what was wrong?


text:
Feature request: Show in the console two or more weapons skins using the config

Will be good if we can see at least two or more differents weapons in the console, since some PC are low specs and we can't have the browser open while we are playing

today i learned yoinker can run from the browser haha

source: gharchive/issue

repo: zayKenyon/VALORANT-rank-yoinker

license: ISC

license_type: permissive

license_source: github-api


text:
Use external libraries for MSG and PST files

The current code for MSG and PST file handling may not be enough for all the use cases. Try external libraries and simplify the codebase.

PST: https://github.com/libyal/libpff/wiki/Python-development
MSG: https://github.com/vikramarsid/msg_parser

Tests failed to provide improvement.

repo: zbalkan/PANhunt


text:
module 'copilot_cmp.comparators' not found

I'm trying the snippet suggested in https://github.com/zbirenbaum/copilot-cmp#comparators
cmp.setup {
  ...
  sorting = {
    priority_weight = 2,
    comparators = {
      require("copilot_cmp.comparators").prioritize,
      require("copilot_cmp.comparators").score,

And get this:
Error detected while processing /Users/josh.nichols/workspace/pickled-nvim/init.lua:
E5113: Error while calling lua chunk: ...chols/.config/nvim/lua/pickled-nvim/language-support.lua:144: module 'copilot_cmp.comparators' not found:
        no field package.preload['copilot_cmp.comparators']
        no file './copilot_cmp/comparators.lua'
        no file '/opt/homebrew/share/luajit-2.1.0-beta3/copilot_cmp/comparators.lua'
        no file '/usr/local/share/lua/5.1/copilot_cmp/comparators.lua'
        no file '/usr/local/share/lua/5.1/copilot_cmp/comparators/init.lua'
        no file '/opt/homebrew/share/lua/5.1/copilot_cmp/comparators.lua'
        no file '/opt/homebrew/share/lua/5.1/copilot_cmp/comparators/init.lua'
        no file './copilot_cmp/comparators.so'
        no file '/usr/local/lib/lua/5.1/copilot_cmp/comparators.so'
        no file '/opt/homebrew/lib/lua/5.1/copilot_cmp/comparators.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file './copilot_cmp.so'
        no file '/usr/local/lib/lua/5.1/copilot_cmp.so'
        no file '/opt/homebrew/lib/lua/5.1/copilot_cmp.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
        [C]: in function 'require'
        ...chols/.config/nvim/lua/pickled-nvim/language-support.lua:144: in main chunk
        [C]: in function 'require'
        /Users/josh.nichols/workspace/pickled-nvim/init.lua:25: in main chunk

I wonder if it has to do with using a vim.defer_fn for copilot.lua and `after = { 'copilot.lua'} for copilot-cmp?
	use {
		'zbirenbaum/copilot.lua',
		event = 'VimEnter',
		config = function()
			vim.defer_fn(function()
				require("copilot").setup({
					ft_disable = vim.g.filetype_plugin_config.copilot.disable,

					-- suggested to disable these when using with cmp
					suggestion = { enabled = false },
					panel = { enabled = false },
				})
			end, 100)
		end,
	}

	use {
		'zbirenbaum/copilot-cmp',
		after = {'copilot.lua'},
		config = function ()
			require("copilot_cmp").setup {
				method = "getCompletionsCycling",
				formatters = {
					label = require("copilot_cmp.format").format_label_text,
					insert_text = require("copilot_cmp.format").format_insert_text,
					preview = require("copilot_cmp.format").deindent,
				},
			}
		end
	}

my config for reference: https://github.com/technicalpickles/pickled-nvim

Encontering same problem, by remove after = {'copilot.lua'} to make it work.

I am having the same issue, Can't find the module - using lazy.nvim with lazy = false
module 'copilot_cmp.comparators' not found

any ideas?

@technicalpickles
i am also on lazy.nvim and can't get it to work. Whats your setup on lazy.nvim?

authors: chikko80 dongdongbh technicalpickles

repo: zbirenbaum/copilot-cmp

license: MIT


text:
Manage locally generated completion files

A command line tool I am currently trying out poetry generates
a local completion file via the poetry completions zsh > _poetry command.
How would I go about managing this completion file with zplugin without having to add it to the fpath
directly.
In the case of tools like docker-compose; I use zplugin to manage the binary and completion files directly from github. I cannot do same for poetry because the completion file does not exist in its repository.
Please see below for the docker-compose example.
zplugin ice as'completion' wait'1' lucid
zplugin snippet 'https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose'

zplugin creinstall ~/Desktop/poetry  # directory with `_poetry`

Using the very latest commit (bac1d20) of zplugin as of this comment, the command above did not work as suggested. Could you kindly shed some light on this?
However, manually creating a directory ~/.zplugin/plugins/_local---poetry and running command
zplugin creinstall _local/poetry successfully installed the completions.
Also using the suggested complete install of poetry via zplugin worked as expected. Both poetry and its completions were installed.

zplugin creinstall ~/Desktop/poetry  # directory with `_poetry`

Deleted my .zcompcache and .zcompdump and tried the command above using the latest commit (515f8fb) of zplugin as of this comment and it WORKED.

sdispater/poetry

About asking for poetry to not modify the PATH, I think it's now possible with --no-modify-path arg, that way:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME="$HOME/.local/bin/poetry" python3 - --no-modify-path

Just post it here in case someone lands here.

sdispater/poetry

About asking for poetry to not modify the PATH, I think it's now possible with --no-modify-path arg, that way:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME="$HOME/.local/bin/poetry" python3 - --no-modify-path

Just post it here in case someone lands here.

authors: crazy-matt idadzie

repo: zdharma/zinit


text:
Support for poetry, pipenv

Check for existing issues

[ ] Completed

Is your feature request related to a problem?
Primary issue: #205
This issue answers the core venv structure, but displays problem with real build tools. Problem in build tools, that are used with python development. In python development we have:

Pipenv
Poetry
Original pip

All of them creating virtual environment, that Zed doesn't see. And there is no option to activate any of them. I read through the issue, that I mentioned, but there is still no decision about that. Manual configuration in config folder doesn't seem like good decision at all.
Describe the solution you'd like
I think that there is three ways of solution. There is no way of configuration, I see only hard wrap around these tools.
Solution through confing file
Maybe here need to add documentation about manual configuration through the file of workspace. I think, that We need in something like
// .zed/settings.json
{
  "python": {
    "venv": "$HOME/.venv/pretty-project-52331fds/",
    "tool":  "pipenv" //  | "poetry" | "pip"
  },
  ...
}

This is might be useful in any cases. This could help with fast loading of workspaces and sharing configuration with teammates.
Solution through selecting with menu
See mockups in bottom section. Selecting through menu might be more user friendly than manual configuration.
Just selecting item
See mockups in bottom section. I would like to see this way also. It is also good approach of how to activate virtual environment.
If applicable, add mockups / screenshots to help present your vision of the feature
Example of UI with selecting of env

Selecting Python tool

I forgot to mention solution, that might help for developers of Zig. I don't know the API of the application, but suggest this code to work fine, I guess.
For Tools I suggest to have some sort of wrap, that might be helpful. You possibly need to wrap all of them in such way:

#[derive(Debug)]
struct Pipenv implements LanguageTool {
  pub fn loadLibraries(ctx: WorkspaceCtx) {
    // Here goes workspace context loading with libraries
  }

  pub fn configureLSP(lsp: LanguageServer) {
    // Configure LSP
  }
}

This might work, but don't know for real or not. Probably loading of workspace tools, like additional linters, package managers and other things are not supported here, but I just guess it might work

Hey @AssertionBit, wanted to thank you for the amount of detail you put into this feature request.  I would love it if we could support Poetry.  For anyone who isn't a Python dev, Poetry to Python is what Cargo is to Rust.

It would also be helpful to to have support for miniconda, mamba, and micromamba, which are frequently used in the machine learning space.

UP

authors: AssertionBit DanteOz JosephTLyons websmithcode

repo: zed-industries/community


text:
feat: (KW-158) Add kGuilder notification

Description
This PR adds a notification to explain to the user how to acquire cGuilder at the event.
Other changes
Describe any minor or "drive-by" changes here.
Tested
An explanation of how the changes were tested or an explanation as to why they don't need to be.
How others should test
Does this need to be tested by QA in the next release cycle? If so please give a brief explanation of how to test these changes.
Related issues

Fixes #[issue number here]

Backwards compatibility
Brief explanation of why these changes are/are not backwards compatible.

Can you post a screen recording and description of the change to be expected when testing.

Can you post a screen recording and description of the change to be expected when testing.
Sure!

When testing you will see a new kolektivoNotification. You can click on it and see some reasons why to purchase kGuilder and what you can do with it. When you press done the notification will be permanently removed from the notifications stack.
https://user-images.githubusercontent.com/12153793/193376108-a3055633-424b-409f-89cb-302f3f14a038.mp4

@shottah I agree with all points except the first, If I'm not mistaken all notifications in this section only display once, so once completed they arent ever visible anymore. So there is no way to reopen them. Ofcourse I don't mind having it the other way but then how do you envision the notification being reopened? where should it also be available or should it neverbe removed from the top section? not even after the initial viewing?

let er rip

source: gharchive/pull-request

authors: Nashmod shottah

repo: zed-io/kolektivo-wallet


text:
Application freezes when running code with infinite loops

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: macOS Sierra 10.12.4 Beta
Hyper.app version: 1.1.0 (1.1.0.1408)
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/FlashTheDash/af69762f8303672effabf9b9dcdc2a47

Issue

The entire application freezes when running code with infinite loops in python.  No keyboard shortcuts work, so I can't use keyboard interrupt to stop the script.  If I have an infinite loop in my code, then I have to force quit the application to do anything.
Arbitrarily long for loops run just fine.
If I use terminal.app, then keyboard interrupt works just fine.
an example of some code that would cause the application to freeze:

while True:
    #anything can be inside the loop
    print("hello")

Referencing this to #555
Might be different so I won't close it yet.

where are we with this ?

Same issue a year later, it turns out that the same issue exists with java, and it only happens if you are printing something inside the loop, if it's a silent infinite loop, you can still ^C it.

It has been really improved in our upcoming v2 (currently available on our canary update channel).

authors: FlashTheDash akabab chabou eshanmind ppot

repo: zeit/hyper

license: mit

license_source: bigquery


text:
After trying to modify hyper.js, Hyper fails to launch due to a Javascript error

OS version and name: Subgraph Aaron 1.0 (it's based on Debian Stretch, I've installed Hyper by using its .deb file)
Hyper.app version: 2.0.0-canary.8-2636
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/hThoreau/30cc4d9b171a6872e55badf36a4ddbb0
Relevant information from devtools: Hyper fails to launch
The issue is reproducible in vanilla Hyper.app: Yes

Issue
I've had a running version of vanilla Hyper until I've tried modifying it's hyper.js file in order to list, and have installed, some plugins. These plugins were described as such:
plugins: [
  'hypercwd'
  'hyper-sync-settings
  'hyperterm-paste'
],

Then I tried launching Hyper and was met with the following error:
A JavaScript error occurred in the main process
Uncaught Exception:
Error: watch /home/user/.hyper.js ENOSPC
    at exports._errnoException (util.js:1050:11)
    at FSWatcher.start (fs.js:1410:19)
    at Object.fs.watch (fs.js:1436:11)
    at _watch (/opt/Hyper/resources/app.asar/config.js:36:19)
    at Object.exports.setup (/opt/Hyper/resources/app.asar/config.js:78:3)
    at Object.<anonymous> (/opt/Hyper/resources/app.asar/index.js:62:8)
    at Object.<anonymous> (/opt/Hyper/resources/app.asar/index.js:241:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)

Then I've tried reinstalling it, but the error persisted. After that, I tried reinstalling after having deleted both the '.hyper.js' file and the '.hyper_plugins' folder. Same result. Downgrading to 1.4.8. Ditto.
And that's that! Thank you for your time.

Logging out and back from my user session solved this issue. It seems that Hyper must've been referring to some cache stored file.


text:
How to contribute?

Tried forking this guy and running the examples, but keep getting:
 ERROR  Failed to compile with 3 errors

These dependencies were not found in node_modules:

* next/dist/client/webpack-hot-middleware-client
* next/dist/client/webpack-hot-middleware-client
* next/dist/client/webpack-hot-middleware-client

Did you forget to run npm install --save for them?
> Ready on http://localhost:3000

Ran the following:
git pull upstream master
cd next.js
npm install
./dist/bin/next examples/hello-world/

Nevermind, seems to work on the latest release (but not master)


text:
Documentation for Dynamic import is outdated (in v7)?

I tried to import a component by following the sample code in https://nextjs.org/docs/#dynamic-import
const DynamicComponent = dynamic(() => import('components/CarousalControllerComponent"'))

and I get errors complaining about
Error: loader is not a function
Dynamic works again once I changed the code to
const CarousalControllerComponent = dynamic({
  loader: () => import("components/CarousalControllerComponent")
});

https://spectrum.chat/thread/5f731d67-a3e3-4716-82a9-b7f7f99d2062?m=MTUzOTg1MDQzNzA1Nw==

Dynamic import is only for component?
How can used in somewhere only logic code(non-component).
Thx.

authors: pengshaosu timneutkens williamli


text:
Allow configurable analysis

This PR allows a new analysis option permitting an object of analysis features to turn on or off.
Useful for when the full expression analysis isn't needed and a fast-pass analysis is suitable.

Codecov Report

Merging #93 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #93      +/-   ##
==========================================
+ Coverage    90.8%   90.83%   +0.03%
==========================================
  Files          12       12
  Lines        1044     1048       +4
==========================================
+ Hits          948      952       +4
  Misses         96       96

Impacted Files
Coverage Δ

src/node-file-trace.js
92.95% <100%> (+0.15%)
:arrow_up:

src/analyze.js
97.31% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bbf92a6...f423df2. Read the comment docs.

authors: codecov-io guybedford

repo: zeit/node-file-trace


text:
--follow on the alias fails with "Error! Unexpected error. Please try again later. (undefined)"

'''
mikes-air:Todos mike$ now logs -d -f reminders.now.sh

[debug] Socket connected
[debug] Socket disconnect
Error! Unexpected error. Please try again later. (undefined)
'''

Works on the instance URL. Thanks, -Mike

cc @matheuss

authors: leo yodertv

repo: zeit/now-cli


text:
TypeErrorf.ref(now.dist:index)

Check out this error:

This is a duplicate of #2711, and has already been fixed.

Amazing!

authors: TooTallNate leo


text:
[now dev] Add meta.env and meta.buildEnv for builders

Some builders require access to the runtime env vars, i.e. @now/next since it spawns a next dev subprocess and should be passing the runtime env vars to that.

Codecov Report

Merging #2320 into canary will decrease coverage by 0.4%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           canary    #2320      +/-   ##
==========================================
- Coverage   11.06%   10.66%   -0.41%
==========================================
  Files         247      247
  Lines        9089     9048      -41
  Branches     1007      995      -12
==========================================
- Hits         1006      965      -41
- Misses       7967     7968       +1
+ Partials      116      115       -1

Impacted Files
Coverage Δ

src/commands/dev/lib/types.ts
0% <ø> (ø)
:arrow_up:

src/commands/dev/lib/dev-builder.ts
62.06% <33.33%> (+0.21%)
:arrow_up:

src/commands/dev/lib/builder-cache.ts
67.27% <0%> (-9.05%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 48ff96d...51e3e19. Read the comment docs.

authors: TooTallNate codecov-io


text:
[OCR+ bug] Workflow run immediately every when do not enter after input keyword.

As title,
When i input the keyword, workflow run immediately. When i open alfred, because the keyword still there, then the workflow keep running. i have to turn off workflow, and open alfred to delete keyword. Can you please check. Thank you very much.
https://user-images.githubusercontent.com/129524162/230563110-04f4142a-0283-42e5-80c1-f784f1e32cb0.mp4

Hey, I'm not sure I understand the scenario you're describing. I cannot reproduce the behavior from your video. How do you launch Alfred after enabling the OCR workflow: using the default shortcut, a custom shortcut, the OCR workflow shortcut (cmd+shift+6)?
What I think I can gather from the end of the video is that for each time you call the workflow again using the ocr keyword[^1], the workflow runs again. Each of these activations of the workflow runs sequentially and has then to be dismissed one by one. I should have a fix for this.
The output of the debug panel might also be helpful, i.e. open the workflow in Alfred and enable it via cmd+D.
[^1]: How though? The screen or keyboard input should be locked while in snapshot mode, that is, navigating through the Alfred history using the arrow keys or ctrl+p / ctrl+n should not work.

This is my step:

Open alfred
I just finish keyword "ocr"
The workflow run immediately (keyword "ocr" still in alfred)
So every time i open alfred, the workflow run immediately (i can't delete keyword to stop)
I need to open Alfred Pref and disable the workflow to stop alfred trigger workflow because keyword still in alfred

This is step by step video and debug panel:
https://user-images.githubusercontent.com/129524162/230620956-9c2c4f42-3b85-4959-99b5-93580f85668f.mp4

Thanks for the video! I am not sure exactly what is causing this behavior, but have you updated the workflow yet? The update fixes an issue that may or may not be the cause of the problem, and also tweaks some concurrency settings. Let me know if the weird behavior persists in the latest version.

i installed new version 1.2.3. But it still happen 😅

I noticed something strange in your videos. When you launch Alfred, do you always launch it with the last keyword you entered, or in other words, the last workflow you used? That's not standard behavior. That the snapshot mode is immediately activated when you type the keyword ocr is intentional. If you start Alfred with the previous keyword, you will indeed be stuck in a loop. But that is by design then 😄.
Perhaps you can try to change the startup behavior of the workflow to suit your use case, but other than that there is little I can do if my assumption about Alfred starting with the last used workflow is correct. If you still want to use the workflow in this case, I suggest using only the shortcut and the Universal Action, and completely disabling the script filter (which is mainly intended for progress tracking).

Thank you very much. Seem like i will use it that way 😅

authors: chumido zeitlings

repo: zeitlings/alfred-workflows


text:
Skeleton application with Twig enabled errors out of the box

I will admit I am totally out of my depth here, but I would not expect the skeleton application to generate an error out of the box.
I used the following options:

No
Zend Router
Zend ServiceManager
Twig

And I see the following error:
Deprecated: Zend\Expressive\Twig\TwigRendererFactory now expects you to register the factory Zend\Expressive\Twig\TwigEnvironmentFactory for the service Twig_Environment; please update your dependency configuration. in /Users/GeeH/www/slides/vendor/zendframework/zend-expressive-twigrenderer/src/TwigRendererFactory.php on line 94
I hopefully will get a PR in soon but wanted to make sure it's caught in case I forget.

@xtreamwayz - this looks like it would be quite straightforward but I ran into a brick wall, is this something you can look at please?

@GeeH It's just a deprecated message caused by this: https://github.com/zendframework/zend-expressive-twigrenderer/blob/master/src/TwigRendererFactory.php#L88
It's correctly added in the develop branch.
This should be the dependencies in config/autoload/templates.global.php.
'dependencies' => [
    'factories' => [
        Twig_Environment::class => TwigEnvironmentFactory::class,
        TemplateRendererInterface::class => TwigRendererFactory::class,
    ],
],

But yes, I agree. The deprecation message shouldn't be there if you create a new project. What I can do is create a PR with the correct factories and release a new bugfix version for the skeleton.

Uhm, nothing should be removed but this line should be added:
Twig_Environment::class => Zend\Expressive\Twig\TwigEnvironmentFactory::class,

I'll make a PR right now.

Fixed in version 1.0.5. Thanx for reporting @GeeH.

@xtreamwayz Geert, thank you so much for such a quick turn around. Next time we meet in person I definitely owe you a :beer:.

authors: GeeH xtreamwayz

repo: zendframework/zend-expressive-skeleton


text:
"Malformed header detected" on valid example from rfc7103 7.3

Per RFC 7103 section 7.3, having whitespace on an otherwise empty line is deprecated but still valid.  I'm running into this with emails generated by some Microsoft product.
Code to reproduce the error:
require __DIR__.'/vendor/autoload.php';

$src = "From: user@example.com
To: userpal@example.net
Subject: This is your reminder

  about the football game tonight
Date: Wed, 20 Oct 2010 20:53:35 -0400

Don't forget to meet us for the tailgate party!
";
new Zend\Mail\Storage\Message(array('raw' => $src));

This results in:
PHP Fatal error:  Uncaught exception 'Zend\Mail\Exception\RuntimeException' with message 'Malformed header detected' in vendor/zendframework/zend-mail/src/Headers.php:88
vendor/zendframework/zend-mail/src/Headers.php:88
vendor/zendframework/zend-mime/src/Decode.php:142
vendor/zendframework/zend-mail/src/Storage/Part.php:105
vendor/zendframework/zend-mail/src/Storage/Message.php:54

One workaround is to use pipe the message source through formail first and tell it to merge header lines:
formail -c -f

Could you provide the value of $src as a single line using \n \r \t ...

<?php
require __DIR__.'/vendor/autoload.php';

$src = "From: user@example.com\nTo: userpal@example.net\nSubject: This is your reminder\n  \n  about the football game tonight\nDate: Wed, 20 Oct 2010 20:53:35 -0400\nDon't forget to meet us for the tailgate party!\n";
new Zend\Mail\Storage\Message(array('raw' => $src));

@ftzdomino Thx.
Do you will work on this and provide a patch (PR)?

I'd love to help out, as this library has saved me the trouble of having to maintain my own copy of abandoned pear libs.  I'm a bit new to Zend projects and not totally familiar with the coding styles, so please bare with me.  Is it easier to paste patches in this discussion or submit pull requests for feedback?

@ftzdomino Pull requests are generally easier. The library has a CONTRIBUTING.md file that details how to create and submit those.

@weierophinney @ftzdomino I've created PR #196 for it

authors: Maks3w ftzdomino samsonasik weierophinney

repo: zendframework/zend-mail


text:
Fixes #99 : Header value 0 gets discarded in Zend\Mail

Fixes #99

@weierophinney merge-able ?

@weierophinney merge-able ?

Thanks, @samsonasik

authors: samsonasik weierophinney


text:
Http\Header\SetCookie assumes urlencoding on cookie value

SetCookie::fromString assumes that the headerValue is urlencoded when the target server may not follow that same encoding. The result is that Http\Client will pass mutated cookie data back to the server resulting in failure. Consider the following case:
Set-Cookie from server:
FORMCRED=/Esfq5mtUMyWgtqWmi9CRIxLcFnin9qwMpR7GyJ3bdGEzne3io2QfW+WHVgOUyNSu1SOr4pJAqJ5ukmZAch6tAL5AqsDHija3lVZ2jF1

Cookie on next request:
FORMCRED=/Esfq5mtUMyWgtqWmi9CRIxLcFnin9qwMpR7GyJ3bdGEzne3io2QfW WHVgOUyNSu1SOr4pJAqJ5ukmZAch6tAL5AqsDHija3lVZ2jF1

Note that the space '+' has been converted to ' ', even though the Http\Client has encodecookies=false.
The work around to this is to use the Curl adapter for the Http\Client and force curl to save its own cookies outside of Zend\Http. Curl saves the cookies verbatim.
Is there a method to force cookies handled via Set-Cookie header to remain in their exact form when being sent back to the server?

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html

authors: GeeH rtek

repo: zendframework/zendframework


text:
AbstractAdapter doesn't exist anymore, so was getting WSOD until I chang...

...ed this

Please update the tests too and make sure they pass. Also, that surely can not be the only change needed for the Authentication to work again with the new Db component, as the code still references, for example, Zend\Db\Expr and Zend\Db\Table\AbstractTable

authors: intellix robertbasic


text:
How to toggle the auto copy to clipboard functionality off for users who do not want it?

Is this possible with JS?  I tried .removeEventListener, setting clipboard to = {}, .removeAttribute('data-clipboard-text',res);
Nothing worked?  Any ideas

There's no auto copy, the user needs to click a button in order to trigger the copy functionality.

See https://rack.pub/codes
I finally got it working by toggling between .setAttribute and
.removeAttribute.
function upgradeItems(){

for (var i = 0; i < items.length; i++) {
var codeSpan = items[i].getElementsByClassName('code');
var char = codeSpan[0].innerHTML;
var str = char;
var res = str.replace("amp;", "");
items[i].setAttribute('data-clipboard-text',res);
}
}
function downgradeItems(){
for (var i = 0; i < items.length; i++) {
items[i].removeAttribute('data-clipboard-text');
}
}

On Tue, Aug 2, 2016 at 12:18 AM, Zeno Rocha notifications@github.com
wrote:

There's no auto copy, the user needs to click a button in order to trigger
the copy functionality.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zenorocha/clipboard.js/issues/286#issuecomment-236801205,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMKS-0hSf2DEKz8EukxIo8FvU12oQ0wFks5qbtMcgaJpZM4JaP56
.

--

Ron Royston
(504) 722-8412

Cool! Thanks for sharing @rhroyston

A must see minor update https://rack.pub/codes
I don't even know what that means.

No one knows what it means, but it's provocative.
It gets the people going.

On Tue, Aug 2, 2016 at 3:59 PM, Zeno Rocha notifications@github.com wrote:

Cool! Thanks for sharing @rhroyston https://github.com/rhroyston
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zenorocha/clipboard.js/issues/286#issuecomment-237041946,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMKS-xOQDios1hvvQj2U8PYCo-niF7Vkks5qb6_IgaJpZM4JaP56
.

--

Ron Royston
(504) 722-8412

authors: rhroyston zenorocha


text:
CompileError: WebAssembly.Module()

npx zenstack@latest init won't work for me. This is the error I received:
AppData\Local\npm-cache_npx\aded272cd7beac82\node_modules@prisma\prisma-schema-wasm\src\prisma_schema_build.js:513
const wasmModule = new WebAssembly.Module(bytes);
^
CompileError: WebAssembly.Module(): section (code 10, "Code") extends past end of the module (length 1817800, remaining bytes 1161996) @+6682
at Object. (C:\Users\josep\AppData\Local\npm-cache_npx\aded272cd7beac82\node_modules@prisma\prisma-schema-wasm\src\prisma_schema_build.js:513:20)
at Module._compile (node:internal/modules/cjs/loader:1504:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1588:10)
at Module.load (node:internal/modules/cjs/loader:1282:32)
at Module._load (node:internal/modules/cjs/loader:1098:12)
at TracingChannel.traceSync (node:diagnostics_channel:315:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:215:24)
at Module.require (node:internal/modules/cjs/loader:1304:12)
at require (node:internal/modules/helpers:123:16)
at Object. (C:\Users\josep\AppData\Local\npm-cache_npx\aded272cd7beac82\node_modules@prisma\internals\dist\chunk-W65Z4BE5.js:39:41)
Node.js v22.5.1
I tried to clean the npm cache.
I tried to reinstall Node.
I tried to update Prisma.
I tried different versions of Node: 22.5.1, 20.16.0, 18.0.0.
I tried with a fresh T3 project.
Nothing worked, always the same error.
So, I installed it manually, and it finally worked.
Windows
T3Stack
Node: 22.5.1, 20.16.0, 18.0.0

@jiashengguo , could you try T3 on windows with latest version when you have time?

repo: zenstackhq/zenstack


text:
Auto formats small default floats values into scientific notation breaking prisma syntax

Description and expected behavior
Very small floats < 0.000001 and smaller translate into scientific notation in the @default field, reguardless of Decimal or Float
Zenstack
model Example {
  epsilon Decimal @default(0.00000001)
}

Becomes:
Prisma
model Example {
  epsilon Decimal @default(1e-8)
}

Which is invalid because prisma doesn't support scientific notation
Environment (please complete the following information):

ZenStack version: [latest beta 20]
Prisma version: [e.g., 4.8
Database type: [e.g. Postgresql]

Thanks, good catch @sitch ! Will include it in the next release. Let me know if you're interested in making a PR 😄.

So after a little more investigation, this is fundamentally a JS quirk (what a lovely language).  Any float 1e-7 or smaller automatically gets translated into scientific notation.
num = 0.000001
console.log(num)
// 0.000001

num = 0.0000001
console.log(num)
// 1e-7

There are some hacks that would work most of the time, but aren't concretely correct due to precision that has already been lost at parse time
function inferredPrecisionFloatToString(num: Number) : String {
  const exp = parseInt(num.toString().split("e-").slice(-1) ?? "0")
  return exp > 0 ? num.toFixed(exp) : num.toString()
}

So you would have:
inferredPrecisionFloatToString(0.00000001)
// "0.00000001"

Seems like this function could just be applied here: https://github.com/zenstackhq/zenstack/blob/02a4a179b8c32d0320b27adbefca196cd983dd05/packages/schema/src/plugins/prisma/prisma-builder.ts#L293
But a better solution would be to get the raw token from the AST parse and use that or to not actually interpret the token as Number, but with Decimal internally

Also, a small discrepancy but:
In prisma you can do:
model Example {
  id String @id
  ep1 Decimal @default("0.00000001")
  ep2 Decimal @default(0.00000001)
  ep3 Float @default(0.00000001)
}

But in zmodel:
model Example {
  id String @id
  ep1 Decimal @default("0.00000001") // doesn't work `Value is not assignable to parameter`
  ep2 Decimal @default(0.00000001)
  ep3 Float @default(0.00000001)
}

Basically a "correct" solution becomes hairy at the prisma level bc a column can have custom precision settings which would then require validating the attribute value to see if it's string representation is representable in float space, given the columns precision settings

Many thanks for putting time into investigating this @sitch ! I agree with you the best solution seems to use the raw token to output to prisma schema, so at least we can be completely consistent with Prisma ... Yes, passing string values also need to be fixed.
Now the issue sounds more complex than I initially thought. I can further check how to change the parser part, but let me know if you plan to dig deeper there so we don't spend duplicated efforts 😄.

Btw is this blocking you right now? A workaround could be:
model Example {
  epsilon Decimal @prisma.passthrough('@default(0.00000001)')
}

Btw is this blocking you right now? A workaround could be:
model Example {
  epsilon Decimal @prisma.passthrough('@default(0.00000001)')
}

This is what I'm currently doing

I think just updating the parser should be good. Also the zenstack number functions currently apply to decimal as well, but I'll open a separate ticket for that! Cheers @ymc9

Fixed in 1.0.0-beta.21


text:
Typescript Compatibility

I would love to see some compatibility with Typescript in this package. Some of it would just be adding packages like "@types/auth0-js" to the package.

Could you open a PR with the types? Happy to merge that.

I have raised this PR to solve this issue

authors: MarioSimou PatrickHeneise hiszd


text:
[ESP32] XTAL hardcoded to 40MHz.

Environment

Development Kit:      [ESP32-SpartanEdgeAcceleratorBoard]
Kit version: [v1]
Module or chip used:  [ESP32-]
IDF version (run git describe --tags to find it): west espressif install default proably zephyr head (git describe --tags does not work and there is no west espressif info to get any information`).
Build System:         [CMake]
Compiler version (run xtensa-esp32-elf-gcc --version to find it): (crosstool-NG esp-2020r3) 8.4.0.
Operating System:     [FreeBSD]
Using an IDE?: [No]
Power Supply:         [USB]

Problem Description
XTAL frequency seems to be hardcoded to 40MHz instead AUTO. On this SEA board that I want to add to Zephyr XTAL of 26MHz needs to be used because Serial Console output is garbaged as described in [1]. How do I change this XTAL setting from Zephyr perspective? Can we set default to AUTO? Upstream esp-idf seems to have this problem solved already?
Expected Behavior

Serial Console output is garbaged.
XTAL Configuration can be set to AUTO or changed from the Zephyr application standpoint.

Actual Behavior
Only bootloader part serial console output is readable. Then output is garbaged.
Steps to reproduce

Build Zephyr Hello World example.
See no expected output is produced but garbage.

Code to reproduce this issue
Zephyr Hello World example.
Debug Logs
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4
load:0x3fff0034,len:7752
load:0x40078000,len:13212
load:0x40080400,len:4568
entry 0x400806f4
W (65) rtc_clk_init: Possibly invalid CONFIG_ESP32_XTAL_FREQ setting (40MHz). Detected 26 MHz.
<EE><EE>^B<EC><EC><8C>ln<8C>b^\<E0>lb<8C><F2>nn<9E>^^l<90>l<80><92>b<8C>^P<E2>^B<8C><8C>l<9C><8E>

Other items if possible
I have also opened a discussion for this issue at https://github.com/zephyrproject-rtos/zephyr/discussions/36827.
[1] https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html#step-10-monitor

Another description of this problem can be: hal_espressif does not respect CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC nor clock-frequency custom board definitions.

@cederom thanks for your comments and also regarding FreeBSD update. We'll submit a PR to add that.

Regarding changing XTAL value, this should be attached to your board design in .dtsi file:
https://github.com/zephyrproject-rtos/zephyr/blob/main/dts/xtensa/espressif/esp32.dtsi#L53
Change it to xtal-freq = <ESP32_CLK_XTAL_26M>;

We have not added yet the AUTO option. We will as well.

Regarding CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC, it is a defconfig, currently set as 240MHz:
https://github.com/zephyrproject-rtos/zephyr/blob/main/boards/xtensa/esp32/esp32_defconfig#L10
If you want to change this value, you have to sync it with
https://github.com/zephyrproject-rtos/zephyr/blob/main/boards/xtensa/esp32/esp32.dts#L28
otherwise it won't compile.

Let me know if solves your issue.

TANK U @sylvioalves YOU ROX! ITS ALIVE! =)
So it was rtc clock :-) All woks now as expected :-) ESP32_CLK_XTAL_AUTO would be safest and most universal choice :-)

Great! I have added this request into our feature development pipeline.

I wonder if this bug has crept back in.
Zephyr 3.2.0-rc2  with Zephyr SDK 0.15.0 on Ubuntu 22.04.1 LTS
I am using a Sparkfun ESP32 Thing development board which has a 26M crystal.
As described https://github.com/zephyrproject-rtos/zephyr/discussions/36827 I have set the following in the helloworld sample app
zephyr/samples/hello_world/boards/esp32.overlay
&rtc {
    xtal-freq = <ESP32_CLK_XTAL_26M>;
};

When I run the monitor app, I get he following:
Detecting chip type... ESP32
--- idf_monitor on /dev/ttyUSB0 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6596
load:0x40078000,len:15216
ho 0 tail 12 room 4
load:0x40080400,len:3992
entry 0x40080634
0x40080634: z_xtensa_backtrace_get_start at /home/matthew/zephyrproject/zephyr/arch/xtensa/core/debug_helpers_asm.S:29

W (61) rtc_clk_init: Possibly invalid CONFIG_ESP32_XTAL_FREQ setting (40MHz). Detected 26 MHz.

followed by garbage and then eventually:
*** Booting Zephyr OS build v3.2.0-rc2  ***n�#߇��<�b���
Hello World! esp32

Would it be possible to take another look at this please?
Many thanks.

@mbradley612, beside the garbage after Zephyr banner and the warning message, is it all working?

authors: cederom mbradley612 sylvioalves


text:
[Coverity CID :188738]Memory - illegal accesses in /subsys/bluetooth/host/conn.c

Static code scan issues seen in File: /subsys/bluetooth/host/conn.c
Category: Memory - illegal accesses
Function: conn_le_update_timeout
Component: Bluetooth
CID: 188738
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

Looks like a valid issue. @sjanc could you take a look? It seems this code was introduced by you.

repo: zephyrproject-rtos/zephyr


text:
NXP RT10XX: Load code to ITCM

Today, i.MX RT10XX targets have support flash XIP or ITCM (debug mode), but the most common scenario is to have code stored in flash and linked/executed in ITCM. This is currently not supported. I assume there is a trick to let the boot rom to load the code in ITCM (boot header?). Any help is welcome here. Moreover, this would allow supporting MCU boot.

Well I close this 'issue' since It can be done via code relocation config.


text:
tests/kernel/sched/schedule_api failed on mps2_an385 with v1.14 branch.

To Reproduce
Steps to reproduce the behavior:

west build -b mps2_an385 -p auto tests/kernel/sched/schedule_api -t run

Screenshots or console output
****Booting Zephyr OS zephyr-v1.14.1-49-gff6829261918 *****
Running test suite threads_scheduling
starting test - test_bad_priorities
PASS - test_bad_priorities
starting test - test_priority_cooperative
PASS - test_priority_cooperative
starting test - test_priority_preemptible
PASS - test_priority_preemptible
starting test - test_yield_cooperative
PASS - test_yield_cooperative
starting test - test_sleep_cooperative
PASS - test_sleep_cooperative
starting test - test_sleep_wakeup_preemptible
PASS - test_sleep_wakeup_preemptible
starting test - test_pending_thread_wakeup
PASS - test_pending_thread_wakeup
starting test - test_time_slicing_preemptible
PASS - test_time_slicing_preemptible
starting test - test_time_slicing_disable_preemptible
PASS - test_time_slicing_disable_preemptible
starting test - test_lock_preemptible
PASS - test_lock_preemptible
starting test - test_unlock_preemptible
PASS - test_unlock_preemptible
starting test - test_sched_is_preempt_thread
PASS - test_sched_is_preempt_thread
starting test - test_slice_reset
PASS - test_slice_reset
starting test - test_slice_scheduling
ABCDEFGHI
A
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
B
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
C
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
D
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
E
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
F
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
G
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
H
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
I
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false
Assertion failed at /home/chenpeng/zephyr-branch-1.14-github/zephyr/tests/kernel/sched/schedule_api/src/test_slice_scheduling.c:51: thread_tslice: ((tdelta >= expected_slice_min) && (tdelta <= expected_slice_max) && ((int)p1 == thread_idx)) is false

FAIL - test_slice_scheduling
starting test - test_priority_scheduling
PASS - test_priority_scheduling
starting test - test_wakeup_expired_timer_thread
PASS - test_wakeup_expired_timer_thread
starting test - test_user_k_wakeup
PASS - test_user_k_wakeup
starting test - test_user_k_is_preempt
PASS - test_user_k_is_preempt
Test suite threads_scheduling failed.
PROJECT EXECUTION FAILED
Environment (please complete the following information):

OS: fedora28
Toolchain: zephyr-sdk-0.10.3
Commit ID: ff682926

fixed in 1.14 branch

authors: chen-png nashif


text:
ESP32 development overview

ESP32 Development Status

PERIPHERAL
ESP32
ESP32-S2
ESP32-C3
ESP32-S3

CPU
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

IRQ
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

TIMERS
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

UART
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

I2C
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

SPI FLASH
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

SPI FLASH (Octal)
N/A
N/A
N/A

SPI RAM
:heavy_check_mark:
:heavy_check_mark:
N/A

SPI RAM (Octal)
N/A
N/A
N/A

SPI
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

Cryptography
:x:
:x:
:x:

Wi-Fi
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

BLUETOOTH
:heavy_check_mark:
N/A
:heavy_check_mark:
:heavy_check_mark:

GPIO
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

TWAI
:heavy_check_mark:
:x:
:heavy_check_mark:
:heavy_check_mark:

E-FUSE
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

ADC
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

ADC DMA
:heavy_plus_sign:
:heavy_plus_sign:
:heavy_plus_sign:

DAC
:heavy_check_mark:
:heavy_check_mark:
N/A

DAC DMA
:heavy_plus_sign:
:heavy_plus_sign:
N/A

MCPWM
:heavy_check_mark:
N/A
N/A
:heavy_check_mark:

LEDPWM
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

PCNT
:heavy_check_mark:
:heavy_check_mark:
N/A
:heavy_check_mark:

TRNG
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

DMA SPI
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

WATCHDOG
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

LOW POWER
:heavy_plus_sign:
:heavy_plus_sign:
:heavy_plus_sign:

RTC
:heavy_plus_sign:
:heavy_plus_sign:
:heavy_plus_sign:

USB OTG
N/A
:x:
N/A

USB CDC
N/A
:x:
:heavy_check_mark:
:heavy_check_mark:

ETH MAC
:heavy_check_mark:
N/A
N/A
N/A

SDIO
:x:
:x:
:x:

I2S
:x:
:x:
:x:

ULP
:x:
:x:
:x:

SMP
:x:
N/A
N/A

AMP
:heavy_plus_sign:
N/A
N/A

FLASH ENCRYPTION
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

DFS
:x:
:x:
:x:
:x:

MCUBOOT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

OPENOCD
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

SECURE BOOT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

Last update: 02/May/2023

:heavy_check_mark:  Feature is supported.
:heavy_plus_sign:   Work in progress.
:x:   Feature is not supported
N/A:   Not applicable to this device.

Introduction
This RFC gives an overview of features and enhancements we plan to contribute for Espressif's ESP32 SoC device. It is not intended to be a proper roadmap but it gives some information about our effort on having more support for Zephyr RTOS.
Problem description
Currently, ESP32 support consists of a few peripheral implementations as such as GPIO, UART and I2C, which limits device usage on Zephyr. There are missing peripheral drivers as such as WiFi and BLE that are very often requested by the community, but lack implementation.
Proposed change
The proposal is to enable the powerful features that ESP32 SoC can offer, starting by bringing up WiFi subsystem. Meanwhile, we shall also work on developing yet unsupported peripheral drivers.
Detailed RFC
Initial Development
As there have already been some work on the WiFi bring up, a few modifications can be listed below describing initial requirements:

Add ESP-IDF bootloader that handles SoC initialization (cache, MMU and partition tables). In long term, Zephyr's bootloader might be supported as well.
Set XIP support by default to support ESP-IDF bootloader.
Update linker script with proper flash, ram sections and symbols map.
Update clock settings and entropy drivers.
Add timer/counter support.
Add NVS support.
Add Wifi sources and network drivers.

WiFi Driver and Network Integration
We have already implemented the WiFi adapter driver, which binds ESP32 internal WiFi to Zephyr's ETHERNET_L2 layer. However, Zephyr has yet no support for WiFI SoC that runs as non-offloaded driver. It means that creating a network device following subsys/net/l2/wifi/wifi_mgmt.c API does not allow binding to the ETHERNET_L2. There is no such implementation for a WIFI_L2 layer, which would allow using WIFI_MGMT API to integrate with ETHERNET_L2 layer.
This will be addressed in another issue focused on network integration and user API.
ESP32 HAL Module
To keep the folder structure in sync with other vendors, and to update ESP-IDF source to version 4.2, repository modules/hal/esp-idf shall be updated to modules/hal/espressif. Only minimal and necessary ESP-IDF sources shall be included in this repository, which includes source files, adapter layers and symbols to handle internal calls.
It will require changing west.yml to point to this new branch.
Peripherals
The list below shows currently unsupported peripherals. We plan to start developing a few drivers in long term. Porting all the components is tricky due to FreeRTOS dependency in the current ESP-IDF implementation. SPI related code has special considerations due to dual-core SoC architecture and XIP (code execution from Flash). BLE and WiFi share the same RF radio, which implies handling their coexistence by hardware or software. ESP-IDF already takes care of everything but the porting is not straightforward. Also, we still have to analyze issues regarding multi-core support, SMP and power management.

SMP
DMA
ULP
ADC
DAC
CAN
I2S

Future Plans
Future Devices
It is well known that Espressif has other chipsets on its platforms. We plan to add support to them as well when a reasonable ESP32 support on Zephyr is achieved for product level usage. For the time being, there are plans to add support for (not in any chronological order):

ESP32-S2 (updated 26/07: under development)
ESP32-S3
ESP32-H2
ESP32-C3 (updated 26/07: under development)

More may be added to the list as Espressif adds more chipsets to its linecard.

I think after ESP32 WiFi Support a lot of basic stuff will be fixed, like WIFI, Flash Cache, 2nd Stage Bootloader support, Linker script updates.
Could you please tell us if there are any progress on the mentioned drivers ? (for cooperation and avoiding double efforts)

The items below are implemented. We are a few days of creating a PR for that:
Add ESP-IDF bootloader that handles SoC initialization (cache, MMU and partition tables). In long term, Zephyr's bootloader might be supported as well.
Set XIP support by default to support ESP-IDF bootloader.
Update linker script with proper flash, ram sections and symbols map.
Update clock settings and entropy drivers.
Add timer/counter support.
Add NVS support.
Add Wifi sources and network drivers.

We also expect to start working on SPI for the next days.

Could you add some information when/if Secure Boot and Flash Encryption are planned?

Could you add some information when/if Secure Boot and Flash Encryption are planned?

Sure. I can't tell you exactly when but It is on our development backlog. I'll update you once we get ourselves working on it.

Note, I added support for ESP32-S2 in a PR a while back but since it required an unreleased version of the ESP-IDF (v4.2), I stalled work on that PR until Espressif officially released a stable version supporting ESP32-S2; If youre changing the way Zephyr includes the IDF, Id be happy to adapt my PR for it but I think waiting on a stable release of it would be best
(https://github.com/zephyrproject-rtos/zephyr/pull/27246)

@mrrosen

I added support for ESP32-S2 in a PR a while back

Thank you for update.

If youre changing the way Zephyr includes the IDF, Id be happy to adapt my PR for it but I think waiting on a stable release of it would be best

Yes we are trying to align with stable ESP-IDF v4.2 release timelines. Release candidate is due sometimes next week, followed up by formal announcement. Regarding how Zephyr consumes IDF, some discussions are on-going at https://github.com/zephyrproject-rtos/esp-idf/issues/4, we will keep you posted on your PR for ESP32-S2 support based on our progress.

@sylvioalves Since ESP-IDF v4.2 has finally been released, what is the update plan for the esp-idf/hal_espressif so I can align my ESP32-S2 PR to it?

@sylvioalves Since ESP-IDF v4.2 has been finally been released, what is the plan for updating the esp-idf/hal_espressif so I can align my ESP32-S2 PR to it?

@mrrosen, we are waiting approval to use this hal_espressifbranch: https://github.com/sylvioalves/hal_espressif/tree/zephyr
It is based on release/v4.2 and will probably make easier for you to rebase.
I'll update you once we get on track.

Hi! I saw some forks that contain some features for the esp32. Maybe it will be useful if anyone that works on features for the esp32 can post here his fork. It will remove any duplication of work and allow people to test and use some code which has not upstreamed yet. I intend to add support for spi and I hope that I am not duplicating this.

Yes, we need to handle that in some way.
Regarding SPI, we have already implemented SPI2 and SPI3 drivers but it is under internal review. Same for timer drivers. Once we have a few PRs merged, we will push it as well.

Great to hear of your progress on ESP32! In case you do not have enough to do, if I understand correctly S3 adds USB - perhaps USB support should go on the list? Thanks for your efforts!

Great to hear of your progress on ESP32! In case you do not have enough to do, if I understand correctly S3 adds USB - perhaps USB support should go on the list? Thanks for your efforts!

Thanks for your great effort.
Is there any chance to support the SmartConfig mechanism?

Thanks for your great effort.
Is there any chance to support the SmartConfig mechanism?

It's been awhile, any updates? Just purchased a ESP32-S2

@sylvioalves how is the progress going on security features like secure boot and flash encryption?

@sylvioalves how is the progress going on security features like secure boot and flash encryption?

Hi @tiborrr, our current efforts are directed to support ESP32S2 and ESP32C3. For security, so far, we haven't advanced on such front. But I invite you to attend to our lightning talk about our plans on Zephyr Summit.

@sylvioalves how is the progress going on security features like secure boot and flash encryption?

Hi @tiborrr, our current efforts are directed to support ESP32S2 and ESP32C3. For security, so far, we haven't advanced on such front. But I invite you to attend to our lightning talk about our plans on Zephyr Summit.

I already have registered so I will definitely join the talk. Thanks for the update!

@sylvioalves how is the progress going on security features like secure boot and flash encryption?

Hi @tiborrr, our current efforts are directed to support ESP32S2 and ESP32C3. For security, so far, we haven't advanced on such front. But I invite you to attend to our lightning talk about our plans on Zephyr Summit.

Is there a recording of that talk available somewhere?

The recording is not yet online however the slides are. Perhaps you can find what you need in there.
https://drive.google.com/file/d/1AmP1R9Mr08nqR_wwNLsgOHaiKaLR9UlS/view?usp=sharing

@torntrousers The recording is not yet online however the slides are. Perhaps you can find what you need in there.
https://drive.google.com/file/d/1AmP1R9Mr08nqR_wwNLsgOHaiKaLR9UlS/view?usp=sharing

Thanks!
I'm completly new to Zephyr and this morning have been trying to get it running on an ESP32 but really quite lost - none of the doc or guides I can find seem to work right away or be quite up to date. Is there something up to date somewhere that wold tell me how to get helloworld or blinky running on an ESP32?

@torntrousers i actually switched to Ubuntu because of your experience. Getting USB to work on WSL was a pain. Now that I've switched to Ubuntu developing has been a treat.

@torntrousers Hi, after having your environment properly set, follow the guide below:
https://docs.zephyrproject.org/latest/boards/xtensa/esp32/doc/index.html
Let us know if you still face any issue.

Thanks @sylvioalves , I have things compiling but can;t get the standard samples working, eg: https://github.com/zephyrproject-rtos/zephyr/issues/36412 and https://github.com/zephyrproject-rtos/zephyr/issues/36414

WiFi Driver and Network Integration
We have already implemented the WiFi adapter driver, which binds ESP32 internal WiFi to Zephyr's ETHERNET_L2 layer. However, Zephyr has yet no support for WiFI SoC that runs as non-offloaded driver. It means that creating a network device following subsys/net/l2/wifi/wifi_mgmt.c API does not allow binding to the ETHERNET_L2. There is no such implementation for a WIFI_L2 layer, which would allow using WIFI_MGMT API to integrate with ETHERNET_L2 layer.
This will be addressed in another issue focused on network integration and user API.

Hi, any progress on this? I ask since I registereded callbacks for CARRIER_UP/DOWN events to get notified when WiFi is connected/disconnected but it is problematic since sometimes the connection attempt fails and the CARRIER_DOWN event is not generated, since it was never up in the first place (I do get the DOWN event after an UP event).
I need to handle these events myself because reconnection on connection loss (via CONFIG_ESP32_WIFI_STA_RECONNECT) is not aware of a manual disconnection and attempts to reconnect again. Also, I need the events to only start tasks (such as connecting to MQTT broker) when a connection is up (otherwise I need to brute force connect attempts).

@protobits Working on it.

@sylvioalves do you have plan to support the USB Device Mode on ESP32-S2(S3)? Thank you!

@sylvioalves do you have plan to support the USB Device Mode on ESP32-S2(S3)? Thank you!

@jli157 Hi, thanks for asking. We have not planned that yet since we have just started ESP32S2 and ESP32C3 support. We have a long way before getting into USB device mode support, which includes low power mode, basic peripherals and so. Recently we shared our plans during Zephyr's summit. Find the link below in case you missed it.
https://youtu.be/Lct81v9CYzg
I'll bring more information in this channel once we update the development status.

Looking forward to the DMA driver!

Could we update the overview? looking to start a new project, but not completely clear what is supported in the current version and what not....
Thanks

Hi,
I have an ESP32 board with a 26 MHz clock, so in need to configure the IDF  ESP32_XTAL_FREQ
I have been trying to figure out how to configure the clock, but the configurations are not in west build -t guiconfig -b esp32
Thanks

Hi,
I have an ESP32 board with a 26 MHz clock, so in need to configure the IDF ESP32_XTAL_FREQ
I have been trying to figure out how to configure the clock, but the configurations are not in west build -t guiconfig -b esp32
Thanks

@filipeaguiar22 It may be helpful to you knowing that the following PR was submitted: #38543

FWIW, updated list: https://www.espressif.com/en/news/new_operating_systems_in_ESP32

The cpp_synchronization sample doesn't work on esp32c3. It looks like constructors for static objects are not called.
Is it known  problem? Is the fix in the plans?

@gera-k, thanks, will take a look.

a question
when i do uint64_t = uint32_t * uint32_t in C, the gcc generates
mul
mulh
while RISC-V instruction manual suggests the opposite order of mul instructions when 64-bit result is required.
Is C3 CPU smart enough to do single multiplication in this case? If not, is there a way to tell gcc to generate muls in right order?

a question when i do uint64_t = uint32_t * uint32_t in C, the gcc generates mul mulh while RISC-V instruction manual suggests the opposite order of mul instructions when 64-bit result is required. Is C3 CPU smart enough to do single multiplication in this case? If not, is there a way to tell gcc to generate muls in right order?

As far from a few discussion I had, it just work as is. For some reaso, when optimization is disabled, the mul order is indeed not following ISA recommendation. When opt. is enabled (any), it is in correct order. Anyway, it works. Have you faced any issue at all?

It seems it gives me wrong order with -O2.
Anyway, i tried forcing the correct order by inline assembly and it doesn't make noticeable difference in performance.

@sylvioalves how is the progress going on security features like secure boot and flash encryption?

Hi @tiborrr, our current efforts are directed to support ESP32S2 and ESP32C3. For security, so far, we haven't advanced on such front. But I invite you to attend to our lightning talk about our plans on Zephyr Summit.

Quite a few months have passed and the support of the ESP32 in Zephyr seems to be quite ironed out. There are no Kconfigs yet, that would switch these features on itself, right? So far my path was to compile everything manually (e.g. ESP-IDF bootloader with encryption etc.) and then flash the Zephyr binary into the app partition. There is no more elegant way at the moment, or am I missing anything?

For unfortunate reasons we can't use MCUBoot on the current project I'm working on. It would have been the desired path but nothing I can use for right now event though it would have met all requirements.

@sylvioalves how is the progress going on security features like secure boot and flash encryption?

Hi @tiborrr, our current efforts are directed to support ESP32S2 and ESP32C3. For security, so far, we haven't advanced on such front. But I invite you to attend to our lightning talk about our plans on Zephyr Summit.

Quite a few months have passed and the support of the ESP32 in Zephyr seems to be quite ironed out. There are no Kconfigs yet, that would switch these features on itself, right? So far my path was to compile everything manually (e.g. ESP-IDF bootloader with encryption etc.) and then flash the Zephyr binary into the app partition. There is no more elegant way at the moment, or am I missing anything?

Hi!
As stated before by @beriberikix, we already support secure boot and other boot-related features through MCUboot. Same with Flash Encryption, it is available with MCUboot. Full IDFboot support is not on our roadmap, as they are equivalent to the more 'Zephyr standard' MCUboot features.
As @sylvioalves said, but adding that it is due to such equivalence, our efforts are now on PinCtrl, Low Power, SOC (S2/S3) support and AMP (AMP is currently part of our S3 support efforts).
That said, as for IDFboot: it's possible to use it with some tinkering, though, for those with an imperative need for both IDFboot and Zephyr. We haven't prevented that in any form. Further for my understanding: the only scenario that I can imagine for such situation (mandatory IDFboot) is a product that was shipped with ESP-IDF image and must move to Zephyr. I would be glad if you could share your scenario.

Is there visibility on the Low Power support for ESP32 on Zephyr? (and especially interested in the C3)
Is this started / planned / available for testing / ... ?

Would it be possible to create an up to date table of the supported features like what was shared on the Espressif Blog? Thank you!

Hi, I'm interested in adding support for the ESP32 ADC. I've opened #44908 for this purpose. Any willingness to collaborate is very welcome.

@sylvioalves Do you have any plans to release S3 support?

I have started work on adding support for the ESP32 CAN controller.

@sylvioalves Do you have any plans to release S3 support?

ICYMI:
https://github.com/zephyrproject-rtos/hal_espressif/issues/97

Is there visibility on the Low Power support for ESP32 on Zephyr? (and especially interested in the C3) Is this started / planned / available for testing / ... ?

We completed one milestone related to this (PinControl). Now we are planning and doing the priority check against other tasks. Any specifics you would like to share? Need for deep sleep? Do you intend to control the ULP / write code for it? Since ULP is different on ESP32 and ESP32S2, any target?

Especially getting the device into deep sleep from a Zephyr application is the first major goal to getting to a viable battery powered device (talking multiple years on a primary battery cell). Thanks for the replies here, much appreciated!!

Hello,
By when we can expect support for ESP32-S3 in Zephyr ? As per timeline given on https://www.espressif.com/en/news/new_operating_systems_in_ESP32 this would have available by Q1. Is there any new timeline ?

@rftafas
You mentioned the low power consumption of the ESP32, which is very important in product deployment. When can we test it?

I have started work on adding support for the ESP32 CAN controller.

Awesome, is there any progress yet?

FWIW: https://www.espressif.com/en/news/Zephyr_updates

I am interested to see the S3 supported for some various reasons of my own. Mainly looking for a dual core MCU with 34+ GPIO pins and USB device support.

Hello,
Is there a near future plan to have USB support for ESP32-S2/S3 ?

Hello,
I have a requirement for SPI slave using ESP32. Is this supported now or will it added in the future?

Hello, I have a requirement for SPI slave using ESP32. Is this supported now or will it added in the future?

@Suhas-MS, it's not supported yet, it's on backlog, it's not on any schedule/roadmap yet. I suggest creating a request for that or DIY if you are on a tight schedule. Usual advice to rely on already released features still apply.

Hello,
Are there any plans to support I2S? I wrote a simple I2S driver before, but when I ported from zephyr ver3.1 to ver3.2, it didn't work correctly. I hope zephyr can add I2S support to the list.

Hello, Are there any plans to support I2S? I wrote a simple I2S driver before, but when I ported from zephyr ver3.1 to ver3.2, it didn't work correctly. I hope zephyr can add I2S support to the list.

@sam131208 , it is not on the horizon yet and I wouldn't hold my breath either. I strongly encourage you to share your work on GH. It may be a starting point to fix your issue, points you towards a nice contribution and you may have it working earlier...

Is there support for ESP32-C6?

Not yet. Unless you need specifically for 802.15.4 and Wi-Fi 6, you can do fine with C3.

ICYMI: https://github.com/zephyrproject-rtos/zephyr/pull/53699

Is support for the LCD peripheral in ESP32-S3 on the roadmap?

@wpalm Yes, it is, but, no, it was not started yet. If you plan to engage, let us know.

https://github.com/zephyrproject-rtos/zephyr/pull/59918 has been merged, so we can mark TWAI as supported for ESP32-S3.

Is there a plan to support ESP-IDF v5.x? Am aware that this is a major rev with breaking changes. However, some ESP32 devices are being supported / SDKs are being implemented solely on v5; would love to get access to Zephyr there as well.

We are currently refactoring the way things are used and build. We are cleaning the 'ESP-IDF components' that are present on hal_espressif because, first, we don't use it and, second, it creates confusion. So, yes, next hal_espressif will have everything needed for the newer devices (i.e. comparable to ESP-IDF 5.1). That said, PTAL: https://github.com/zephyrproject-rtos/zephyr/issues/54453 .
BUT... First we must complete the boards and SOCs reorganizationto be more like other manufacturers. PTAL https://github.com/zephyrproject-rtos/zephyr/pull/58454

Lucas added SPIRAM support for the S3 with https://github.com/zephyrproject-rtos/zephyr/commit/c435dea191f9d802112766d1491885c31c8845aa, so we can mark that as complete (not the octal support, though, since that requires IDF v5).

Hi,
it's mentioned that USB CDC is already supported for the ESP32-S3. However, when I try to build my code, which is based on the CDC ACM sample in samples/subsys/usb/cdc_acm I get the error devicetree error: ./app.overlay:7 (column 1): parse error: undefined node label 'zephyr_udc0'. Am I doing something wrong?

Probably best to start up a thread in Discord or a discussion here in github for that.  I am personally using the usb_serial instead of  uart0 for flashing, debug, and console and that is CDC ACM.  You may want to clarify in your discussion if you want to use that or use the CDC ACM over standard USB in parallel with UART0.

Probably best to start up a thread in Discord or a discussion here in github for that. I am personally using the usb_serial instead of uart0 for flashing, debug, and console and that is CDC ACM. You may want to clarify in your discussion if you want to use that or use the CDC ACM over standard USB in parallel with UART0.

Is there an example on how to use the usb_serial?

https://discord.com/channels/720317445772017664/883444902971727882/1133332413989257298

Please note the difference between USB-CDC (similar to the one on ESP32S3) to USB OTG Console (similar to the one achievable on S2).

It would seem that a recent commit (6b57b3b786be8558e7e310b849e0b97bd1eae45c) broke most/all esp32 builds.  Building the hello-world sample:
[22/150] Building C object zephyr/CMakeFiles/offsets.dir/arch/xtensa/core/offsets/offsets.c.obj
FAILED: zephyr/CMakeFiles/offsets.dir/arch/xtensa/core/offsets/offsets.c.obj
ccache /home/capitaomorte/.local/zephyr-sdk-0.16.1/xtensa-espressif_esp32_zephyr-elf/bin/xtensa-espressif_esp32_zephyr-elf-gcc -DKERNEL -D__ZEPHYR__=1 -I/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/kernel/include -I/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/arch/xtensa/include -I/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/include -I/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/samples/hello_world/build/zephyr/include/generated -I/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/soc/xtensa/espressif_esp32/esp32 -I/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/soc/xtensa/espressif_esp32/common/include -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/../../zephyr/include -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/.. -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/source/include -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/source/include/platform -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/source/compiler -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/generate/zephyr -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/source/tools/acpiexec -I/home/capitaomorte/Source/Cpp32/zephyrproject/modules/lib/acpica/source/tools/acpidump -isystem /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/lib/libc/minimal/include -fno-strict-aliasing -Os -imacros /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/samples/hello_world/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always --sysroot=/home/capitaomorte/.local/zephyr-sdk-0.16.1/xtensa-espressif_esp32_zephyr-elf/xtensa-espressif_esp32_zephyr-elf -imacros /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/samples/hello_world=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/capitaomorte/Source/Cpp32/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections -mlongcalls -std=c99 -MD -MT zephyr/CMakeFiles/offsets.dir/arch/xtensa/core/offsets/offsets.c.obj -MF zephyr/CMakeFiles/offsets.dir/arch/xtensa/core/offsets/offsets.c.obj.d -o zephyr/CMakeFiles/offsets.dir/arch/xtensa/core/offsets/offsets.c.obj -c /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/arch/xtensa/core/offsets/offsets.c
In file included from /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/include/zephyr/arch/cpu.h:27,
                 from /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/include/zephyr/kernel_includes.h:33,
                 from /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/include/zephyr/kernel.h:17,
                 from /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/include/zephyr/pm/device.h:11,
                 from /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/kernel/include/kernel_offsets.h:7,
                 from /home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/arch/xtensa/core/offsets/offsets.c:7:
/home/capitaomorte/Source/Cpp32/zephyrproject/zephyr/include/zephyr/arch/xtensa/arch.h:28:10: fatal error: xtensa/config/core.h: No such file or directory
   28 | #include <xtensa/config/core.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Is this expected? Should I open a new issue or is it being tracked already?  I was looking to use SPIRAM on the S3 (as noted here: https://github.com/zephyrproject-rtos/zephyr/issues/29394#issuecomment-1659913663)

nevermind, seems I just forgot to west update to update zephyrproject/modules. sorry for the noise

I was just going to say that.  I have seen that same issue due to a mismatch between the HAL and zephyr projects :)  Glad you resolved it quickly.

On the topic of SPIRAM support on the S3 (https://github.com/zephyrproject-rtos/zephyr/issues/29394#issuecomment-1659913663), is there any kind of ETA for Octal-mode SPI support?

@sylvioalves We can mark the ADC as supported for ESP32-S3.  Thanks your help with the ADC changes!

Hello, Are there any plans to support I2S? I wrote a simple I2S driver before, but when I ported from zephyr ver3.1 to ver3.2, it didn't work correctly. I hope zephyr can add I2S support to the list.

@sam131208 , it is not on the horizon yet and I wouldn't hold my breath either. I strongly encourage you to share your work on GH. It may be a starting point to fix your issue, points you towards a nice contribution and you may have it working earlier...

Hi @rftafas , is there any major technical obstacles/difficulties to develop the I2S driver?

Hi @rftafas , is there any major technical obstacles/difficulties to develop the I2S driver?

The main difficulty is that we have been busy with other components. It should be fairly straightforward as long as you use hal_espressif. I also suggest looking into how I2S was made on ESP-IDF and how other Espressif Peripherals on Zephyr using hal_espressif.

Hello, Are there any plans to support I2S? I wrote a simple I2S driver before, but when I ported from zephyr ver3.1 to ver3.2, it didn't work correctly. I hope zephyr can add I2S support to the list.

@sam131208 , it is not on the horizon yet and I wouldn't hold my breath either. I strongly encourage you to share your work on GH. It may be a starting point to fix your issue, points you towards a nice contribution and you may have it working earlier...

@rftafas has you suggested, I started an I2S driver for esp32s3 here https://github.com/zephyrproject-rtos/zephyr/pull/62155 this is a starting point.
It does not work well yet, I am struggling with DMA (there is an overflow somewhere). With west build samples/drivers/i2s/echo example, it starts receiving/transmitting then stops quickly due to k_mem_slab_alloc failing in the DMA callback. I am debugging this part but I guess there are some Zephyr mistakes to be found.
As I am new in Zephyr, if someone could help me pushing/reviewing this driver it would be very helpful :)

Hello,
I am trying to implement software coexistence on ESP32-C3.
When I try to enable it with CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE it throws error to this link
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE
If I understand correctly this feature isn't implemented yet.
Can you help me point to some resources where I can find some examples how to implement it.
Thank you.

Can you help me point to some resources where I can find some examples how to implement it.
Thank you.

Main recommendation is to use hal5.1 - the things you will need for that are listed on the C6 discussion.
I'll double check, but several "ESP32" kconfigs also applies for other ESP32xx devices. Maybe start checking this. It is common to take "ESP32" prefix/suffix as a family name in disregard that we also have a device named ESP32.
If it is indeed ESP32 only, most likely what is there for ESP32 can be the base for C3.
BTW, it happens the other way around. Some configs for specific SOCs (S2, C3, S3...) are the same as the one for "ESP32", changing the name only. We are discussing in maybe using a better prefix/suffix.

Thank you.
I tried building it with the same configuration for ESP32 and the build is successful.
I will try to use this as a starting point for ESP32 C3.
Regards.

Thank you.
I tried building it with the same configuration for ESP32 and the build is successful. I will try to use this as a starting point for ESP32 C3.
Regards.

Interested to know how you get on @jkorenj, we are also using the ESP32-C3.

Hello,
I check a little bit further and I found drivers/wifi/esp32/Kconfig.esp32.
config ESP32_WIFI_SW_COEXIST_ENABLE
	bool
	help
	  Software controls WiFi/Bluetooth coexistence. Not supported yet.

This is my first project based on Zephyr, and maybe I don't understand it correctly, but it seams to me that coexistance isn't supported for any of the ESP32 devices.
I can't test it right now, because I don't have ESP32 board.
Thank you.

@jkorenj You can use Wi-Fi and BLE in the same application. Coexistence is handled by HW. The flag you mentioned is a way to allow ESP32 to handle coexistence over SW. That specific function is yet to be supported.

@sylvioalves Thank you.
But in this case I don't understand why the flag is needed.
I did a demo project with esp-idf, based on freeRtos I couldn't manage to implement coexistence without coexistence flag.
Now I want to implement the same thing based on Zephyr.
I initialized two threads, one for BLE (hr monitor) and second one for WIFI (echo client) both based on sample code.
But connection is really unstable.

Sorry for late response.
I managed to implement simple demo that runs heart rate application for BLE connection and in parallel it connect to the mqtt broker to publish some data. As you said it works without SW flag enabled. It looks like I had really bad signal strength.
I decided to go and try a little more on Zephyr and I decided to implement hci uart sample on ESP32-C3.
Is this feature implemented for ESP32 boards?
I started with the espressif example and I managed to get it working straight away. So I can confirm that the host side is working correctly, because I was able to see BLE device on my phone and connect to it.
But I can't really get it working with zephyr. I did one demo project to confirm UART is set up correctly and I can see that host side sends the data to ESP32. I also see that something was received and that state machine moves from state to state. But nothing is seen on the Bluetooth. But other than that no further communication happens on line.
Thank you.

Hi there, are there any plans to implement the RMT controller for Zephyr?? I need to output a square with variable frequency (ramp-up, stable, slowdown) in order to control stepper motors. Any plans or ideas around this? Thanks!

ArduPilot uses the RMT peripheral under FreeRTOS for reading RC-in on the esp32/esp32s3 ... https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ESP32/RmtSigReader.cpp   incase u are looking for a use-case for RMT.  :-)

ArduPilot uses the RMT peripheral under FreeRTOS for reading RC-in on the esp32/esp32s3 ... https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ESP32/RmtSigReader.cpp incase u are looking for a use-case for RMT. :-)

There are uses for RMT, for sure. But we also haven't seen people requesting it on Zephyr.

ArduPilot uses the RMT peripheral under FreeRTOS for reading RC-in on the esp32/esp32s3 ... https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ESP32/RmtSigReader.cpp incase u are looking for a use-case for RMT. :-)

There are uses for RMT, for sure. But we also haven't seen people requesting it on Zephyr.

Is it more appropriate to use RMT as a driver for the led strip than SPI? It doesn't even need DMA to work without any interference.

Is it more appropriate to use RMT as a driver for the led strip than SPI? It doesn't even need DMA to work without any interference.

This is the application for RMT that I see mostly around, specially on Arduino world.

Are there any updates on the support for

AMP
Low power
USB OTG

For ESP32S3

Are there any updates on the support for
* AMP

* Low power

* USB OTG

For ESP32S3

AMP: we are polishing after HWMV2. The other 2 are still the same.

Are there any updates on the support for
* AMP

* Low power

* USB OTG

For ESP32S3

AMP: we are polishing after HWMV2. The other 2 are still the same.

Thanks for the updates. Do you have a road map for the missing features. And are there any plans to add SMP support for ESP32(S3)

There are some unlabeled diaries for the S3, like ADC DMA. It would be great to know where these stand! 😊

Somehow I missed some questions:

Do you have a road map for the missing features. And are there any plans to add SMP support for ESP32(S3)

We plan to release C6 peripherals as we test them, to level it to the others.
It is still the same, no plans for SMP on Xtensa. We found it has some deep issues, and we haven't been able to investigate so far.

There are some unlabeled diaries for the S3, like ADC DMA. It would be great to know where these stand!

Table (above) updated.
ADC DMA should come soon.

ADC DMA should come soon.

DMA currently only supports one descriptor, are there plans to support multiple descriptors? There is only one descriptor, and the sending or receiving of data is corrupted by flash write operations. For example, I2S.

DMA currently only supports one descriptor, are there plans to support multiple descriptors? There is only one descriptor, and the sending or receiving of data is corrupted by flash write operations. For example, I2S.

I2S and ADC DMA are a WIPs. So, comment this on the PRs.

Will you be adding support for components not found in the esp-idf, like esp-mesh-lite, esp-now, esp-iot-bridge, esp_littlefs etc?

Will you be adding support for components not found in the esp-idf, like esp-mesh-lite, esp-now, esp-iot-bridge, esp_littlefs etc, i.e. the esp components registry catalog?

We will always favor on using equivalent solutions already present in Zephyr to those on ESP-IDF. Our goal is the products that can be build and if already covered, no reason to re-implement.
ESP-IDF is a different OS than Zephyr, so porting things from the IDF's component system may not make sense. Porting effort is not small.

As for the list:

esp-mesh andesp-now: protocol could be ported on low level. but no plans.
esp-iot-bridge: users can get away with ESP-AT+Zephyr or Zephyr on Espressif. Will need configuration.
esp_littlefs: https://docs.zephyrproject.org/latest/samples/subsys/fs/littlefs/README.html
component registry: zephyr has similar system and west customization. Documentation needs improvement. https://docs.zephyrproject.org/latest/develop/manifest/index.html

Thank you for this. I noticed CAN not in the table - what is the support for this like currently on the C6?

Thank you for this. I noticed CAN not in the table - what is the support for this like currently on the C6?

You can check for TWAI instead: https://docs.espressif.com/projects/esp-idf/en/stable/esp32c6/api-reference/peripherals/twai.html
This is not yet supported on C6, we still have other stuff to be supported before it.

Thank you for the very fast and excellent response :)

Hi, is it somehow possible to use slow/fast rtc memory to save data in a deep sleep with esp32 (esp32-wroom-32e)?

Hi, is it somehow possible to use slow/fast rtc memory to save data in a deep sleep with esp32 (esp32-wroom-32e)?

It is possible. We are reserving it for OpenAMP, for LP-CPU RAM and, as you pointed, for use when preserving data after deep sleep. Furthermore, it is not part of heap. We have a wish to add this option, but not even on backlog. We will deal with all of that  eventually, but I wouldn't wait (so, you shouldn't either).
That said, your options:

you should be able to address it directly. Pointers are your friend. And you must manage it yourself (i.e., do not overlap variables).
RTC macros. It is already in hal_espressif. It should force the allocation of objects to RTC RAM.

Both had no attention from Espressif. At the very least, needs test.

Hi, is it somehow possible to use slow/fast rtc memory to save data in a deep sleep with esp32 (esp32-wroom-32e)?

It is possible. We are reserving it for OpenAMP, for LP-CPU RAM and, as you pointed, for use when preserving data after deep sleep. Furthermore, it is not part of heap. We have a wish to add this option, but not even on backlog. We will deal with all of that eventually, but I wouldn't wait (so, you shouldn't either).
That said, your options:

you should be able to address it directly. Pointers are your friend. And you must manage it yourself (i.e., do not overlap variables).
RTC macros. It is already in hal_espressif. It should force the allocation of objects to RTC RAM.

Both had no attention from Espressif. At the very least, needs test.

Hi, thanks for your answer. I have already tried to use those macros, but it is not defined because of this condition. If I manually force it to be true, the program will freeze with boot log bellow:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3ffb0000,len:6048
load:0x40080000,len:36944
load:0x50000000,len:4
entry 0x40083e98
I (33) boot: ESP Simple boot
I (33) boot: compile time Aug 30 2024 08:05:34
W (33) boot: Unicore bootloader
I (33) spi_flash: detected chip: generic
I (36) spi_flash: flash io: dio
I (39) boot: chip revision: v3.0
I (42) boot.esp32: SPI Speed      : 40MHz
I (46) boot.esp32: SPI Mode       : DIO
I (49) boot.esp32: SPI Flash Size : 16MB
I (53) boot: Enabling RNG early entropy source...
I (57) boot: DRAM: lma 0x00001020 vma 0x3ffb0000 len 0x17a0   (6048)
I (63) boot: IRAM: lma 0x000027c8 vma 0x40080000 len 0x9050   (36944)
I (70) boot: Image with 2 segments
I (73) boot: DROM segment: paddr=00020000h, vaddr=3f400000h, size=00DFCh (  3580) map
I (80) boot: IROM segment: paddr=00030000h, vaddr=400d0000h, size=03258h ( 12888) map

Only 2 segments are detected so I am thinking about the linker issue because the same code with the original version of the mentioned condition contains 6 segments. I will give it a try, but it could help if anyone could confirm, that it is really a linker issue.
Another hint that it could be linker-related is the output from the build.
[201/206] Linking C executable zephyr/zephyr_pre0.elf
/opt/zephyr-sdk-0.16.8/xtensa-espressif_esp32_zephyr-elf/bin/../lib/gcc/xtensa-espressif_esp32_zephyr-elf/12.2.0/../../../../xtensa-espressif_esp32_zephyr-elf/bin/ld.bfd: warning: orphan section `.rtc.data.0' from `app/libapp.a(main.c.obj)' being placed in section `.rtc.data.0'
/opt/zephyr-sdk-0.16.8/xtensa-espressif_esp32_zephyr-elf/bin/../lib/gcc/xtensa-espressif_esp32_zephyr-elf/12.2.0/../../../../xtensa-espressif_esp32_zephyr-elf/bin/ld.bfd: warning: orphan section `.rtc.force_fast.10' from `zephyr/libzephyr.a(sleep_modes.c.obj)' being placed in section `.rtc.force_fast.10'
[206/206] Linking C executable zephyr/zephyr.elf
/opt/zephyr-sdk-0.16.8/xtensa-espressif_esp32_zephyr-elf/bin/../lib/gcc/xtensa-espressif_esp32_zephyr-elf/12.2.0/../../../../xtensa-espressif_esp32_zephyr-elf/bin/ld.bfd: warning: orphan section `.rtc.data.0' from `app/libapp.a(main.c.obj)' being placed in section `.rtc.data.0'
/opt/zephyr-sdk-0.16.8/xtensa-espressif_esp32_zephyr-elf/bin/../lib/gcc/xtensa-espressif_esp32_zephyr-elf/12.2.0/../../../../xtensa-espressif_esp32_zephyr-elf/bin/ld.bfd: warning: orphan section `.rtc.force_fast.10' from `zephyr/libzephyr.a(sleep_modes.c.obj)' being placed in section `.rtc.force_fast.10'

Does anyone have better insight into this?
Thanks

@jurenat I suggest opening a discussion on Discord or GitHub. Here is a bit off-topic. Also, as mentioned, you will have to DIY and posting the problems you find on those outlets may spark good suggestions from Espressifers and other community members.

Are there any plans to port the esp-dsp lib to zephyr? E.g. using the zephyr DSP API

Are there any plans to port the esp-dsp lib to zephyr? E.g. using the zephyr DSP API

We have a backlog issue for ESP-DL. It seems to me that the work here is similar. DL is a bit agnostic, so seems to demand less effort. I'll add a note for this as well.
Unfortunately, it is on low priority, so, straight answer is 'no plans'. As usual, if you need it and is willing to get hands on, open a discussion or issue in case of roadblocks.

Hi, is there any link to the current development overview?

Hi, is there any link to the current development status?

The table on top is up to date.

Hi, is there any link to the current development status?

The table on top is up to date. Edit: PTAL Devcon Presentation.

Hi @rftafas, I see that I2C support for ESP32C6 is "work in progress" in the video but "feature is not supported" in the table above. Can you tell if it is already work in progress or not? I wanted to contribute to make I2C work for esp32c6. Thanks!

ULP (ESP32, ESP32-S2): not on roadmap. You can build the ULP application in ESP-IDF and figure a way to load and run it.
Risc-V LP core (ESP32-S2 and newer devices; yes, it has both): yes, there are plans. Probably it will be treated as another AMP core, with the firmware for the R-V LP-CPU being built with --sysbuild. It will be bare metal, and APIs shall be in hal_espressif. The LP-CPU APIs also will be the same ones as in ESP-IDF (the ones on the LP-CPU itself, host OS APIs will have to be ported from IDF to Zephyr).
BUT... not on immediate plans. Which also means that it was not properly studied, so take the info above on low confidence. Hardly anything will happen on this front before Zephyr v4.0.

Hi
I see support for camera interface marked as supported on the table above for ESP32 S3, but I don't see any further documentation (specific to ESP32S3 interface) or any examples that work on ESP32S3.
Are there plans to add these in the near future ?

@rhvarrier

Are there plans to add these in the near future ?

AFAIK, it should be using common Zephyr APIs for that. What kind of specifics are you referring?

@rhvarrier

Are there plans to add these in the near future ?

AFAIK, it should be using common Zephyr APIs for that. What kind of specifics are you referring?

Thanks for the reply. I was looking for support for ov2640 sensor. there quite a few esp32 s3 boards that come with this sensor. For example ESP32-S3-Eye seems to be supported by Zephyr but in the camera examples I don't see any mention of this board

I think the sensor control is a different driver.
Besides, the camera was added very recently, so there are chances some boards are missing the documentation. I'm seeing it here that after the initial commit, there was more activity on S3 camera. Probably taking the latest would do it.

Indeed I see a PR submitted a few days ago for ESP32S3 camera support PR#79334

@rhvarrier the ov2460 sensor is already supported on the upstream, you just need to instance it on your project overlay and map it to the correct endpoint (for camera sensor it is a IN_EP type).
Unfortunately the generic sample of the video subsystem needs some tunning to work on esp32s3 in order to get working since it was made initially to the first NXP processors development board in mind.

Hello
I am interested in utilizing the dual-core functionality of the ESP32. However, I have noticed that there is no support for SMP on the ESP32 platform.
Does this mean that I can only use one core at a time, or are there other ways to use the dual-core architecture?

Does this mean that I can only use one core at a time, or are there other ways to use the dual-core architecture?

Yes, it means that (check closed issues as to why). Fortunately, yes, there is another way, AMP. It is a bit rough around the edges, but we are improving it. There are some examples around for it.

thanks for the reply. i wanted to write one code that runs on the 2 cores which i can't do using AMP as i understand. Or there's another way to do so using AMP?

Well, if we go strict on possibilities on code without downgrading to v3.5, there is no way to use multiple cores on Zephyr.

SMP is not working since long ago (not on our roadmap, there are some GH issues about it, search is your friend). You can always DIY.
AMP is only working on 3.5 (we are working to bring it back, fixes are coming, "stay tuned").

Could you add some information when/if Zephyr port (not espressif port) + MCUBOOT + Secure Boot V2 is going to be supported/planned?

Hi fellows! Is there any estimated completion date?

Could you add some information when/if Zephyr port (not espressif port) + MCUBOOT + Secure Boot V2 is going to be supported/planned?

Currently, this is not planned on our side. We are improving the integration of MCUboot Espressif port, though.

Hi fellows! Is there any estimated completion date?

What do you mean? The tasks on the table above? Please, look to the history of that table, it first came out in 2022. We have been incrementally adding more and more support to devices and peripherals. Its helpful if you can be more specific to what you need.

Hello,
Any tentative timeline to complete I2C, SPI FLASH and Bluetooth for ESP32-C6? Can I expect that majority of C6 gaps will be filled by mid of 2025? also reason that RTC is not yet developed for any chip so far?

Hello, Any tentative timeline to complete I2C, SPI FLASH and Bluetooth for ESP32-C6? Can I expect that majority of C6 gaps will be filled by mid of 2025? also reason that RTC is not yet developed for any chip so far?

Please, look up this thread for my presentation during devcon24. I cover the planning up to Q4/25.

Hi! I would like to know if there is any open effort in enabling LCD for esp32s3. Currently I have a board powered by a esp32s3-wroom-1 module and a 800x480 display with ST7262 controller. I have experience with Zephyr and driver development. Thus, I would like to offer myselft to help in enabling LCD. thanks!

Hi! I would like to know if there is any open effort in enabling LCD for esp32s3. Currently I have a board powered by a esp32s3-wroom-1 module and a 800x480 display with ST7262 controller. I have experience with Zephyr and driver development. Thus, I would like to offer myselft to help in enabling LCD. thanks!

Hey, there is no one working on bringing LCD HAL driver in place. Feel free to contribute and thanks in advance for the initiative :)

Hi! Is the DMA supported with the external PSRAM memory? I have a code that allocate two buffers and copy from one to another using DMA Zephyr API in the esp32s3. It works great with the internal RAM, but fails with the external RAM. Is it supported or should I take into account any special code? Thanks!

authors: Alex-Stanfield AnkyXCoder DRNadler EricNRS ExtremeGTX FARLY7 GuptaAshi-Eaton Ithilien K2AAE MDr164 Red-M Rhvarrier Suhas-MS Teesmo TiboDevC aelray ankayca arjuna-dev behzad-nejatbakhsh beriberikix chrta davidbuzz enthunilu epc-ake filipeaguiar22 gera-k glaubermaroto henrikbrixandersen jeronimoagullo jkorenj jli157 joaotavora johnnyguoyy jurenat kvanbere mahavirj maximevince mickeyl mrrosen oldrev prayassamriya protobits quic-DevJoshi rftafas rhvarrier sam131208 shlomow sslupsky sylvioalves tasbeehkhaled tiborrr torntrousers uLipe wimmatthijs wolterhv wpalm