标签: hal

HAL - 如何在 Mac 上监控音频输出

http://www.ambrosiasw.com/utilities/wiretap/ 上有一个名为“窃听”的应用程序

此应用程序可以录制系统音频。我希望能够在我的程序中做同样的事情。关于我需要做什么的任何见解?我熟悉 Core Audio,但还没有找到任何关于如何做到这一点的信息。

这有助于得到答案吗?我在命令行输入:ioreg -w0 -l | grep io |more
这是我发现的关于窃听的内容....在我找到它的地方附近可能有更多相关信息:
+-o com_AmbrosiaSW_AudioSupport <class com_AmbrosiaSW_AudioSupport,registered,matched,active,busy 0,retain 4 >
"CFBundleIdentifier " = "com.AmbrosiaSW.AudioSupport"
"IOMatchCategory" = "com_AmbrosiaSW_AudioSupport"
"version" = 2
"IOClass" = "com_AmbrosiaSW_AudioSupport"
yan-bellavances-mac-mini:~ ybellavance$ ioreg -w0 -l | grep io |更多

macos cocoa hal core-audio

5
推荐指数
1
解决办法
4314
查看次数

如何更改 Android 操作系统默认自然方向?

我的设备 TI am335xevm 运行 android Jellybean 4.2.2,并将横向作为默认/自然方向。

如何将设备的默认/自然方向更改为纵向?

这是我迄今为止所尝试的,

1) 将setprop ro.sf.hwrotation 90添加到build.prop但它什么也没做。

2)改变user_rotation在值/data/data/com.android.providers.settings/databases/settings.db它改变仅应用的方向。主屏幕和启动器的方向仍然是横向。

3)修改PhoneWindowManager.java类似于链接中给出的那个改变phonewindowmanager以改变自然方向

此选项有效。但它仍然显示bootanimation在景观和动画结束后,显示旋转(旋转与动画)肖像。如何在启动动画之前避免这种旋转并更改默认/自然方向?

注意:我已经用自己的肖像图像覆盖了启动动画,使其看起来像肖像。在启动动画退出发生后仍然旋转。那么什么是通用解决方案呢?

任何建议将不胜感激。

它与SurfaceFlinger相关吗?我还想在android网站上指出这篇文章。硬件作曲家中的预旋转

(仅供参考 - 问题不在于应用程序/活动方向,而是在为自定义设备构建 Android 操作系统时设备的自然方向)

android hal orientation screen-orientation surfaceflinger

5
推荐指数
0
解决办法
5924
查看次数

使用 NDK 访问 Android 相机

我一直试图弄清楚如何使用 NDK 使用其 HAL 接口访问 android 上的相机。我已经从这里下载了所有相关文件:https : //github.com/android/platform_hardware_libhardware/blob/master/include/hardware/camera.h

和这里 :

https://github.com/android/platform_system_core

看起来我确实设法获得了所有相关文件,但由于大量错误,该项目无法编译,从有问题的 makefile 开始,并以缺少这样的功能结束:

C:/android-ndk-r10d/samples/hello-jni/jni/camera/Camera.cpp:409:55: error: 'clone_camera_metadata' was not declared in this scope
         mSettings = clone_camera_metadata(new_settings);
Run Code Online (Sandbox Code Playgroud)

设法使用相机 HAL 的人能否对这个问题有所了解

谢谢你

c++ camera android hal android-ndk

5
推荐指数
1
解决办法
2939
查看次数

STM32 SPI 硬件和严格别名警告

我已经看到这个主题已经在许多其他问题中讨论过,但我无法找到适合我的具体情况的答案。

我正在使用 STM32F0 微控制器。SPI 接收/发送 FIFO 的顶部可通过存储器访问进行访问。这个特殊的微控制器允许我从 FIFO 顶部读取/写入 8 位或 16 位。更准确地说,当执行 LDRB/STRB 指令时,将 8 位从 FIFO 弹出/推送到 FIFO,而当执行 LDRH/STRH 指令时,将从 FIFO 弹出/推送 16 位。

STMicroElectronics 提供的硬件抽象层提出了这种语法来读取 SPI FIFO。

return *(volatile uint8_t*)&_handle->Instance->DR; // Pop 1 byte
return *(volatile uint16_t*)&_handle->Instance->DR; // Pop 2 byte

*(volatile uint8_t*)&_handle->Instance->DR = val; // Push 1 byte
*(volatile uint16_t*)&_handle->Instance->DR = val; // Push 2 bytes
Run Code Online (Sandbox Code Playgroud)

SPI FIFO 顶部的DR一个指针在哪里uint32_t*

我已经使用这种语法构建了我的软件,并且它工作得很好。唯一的问题是 g++ 抛出了很多关于类型双关的警告。更确切地说:

Inc/drivers/SPI.h:70:50:警告:取消引用类型双关指针将破坏严格别名规则 [-Wstrict-aliasing] return *(volatile uint16_t*)&_handle->Instance->DR;

经过一些阅读后,看起来在 C++ 中使用 union 并不是一个好主意。无论如何我确实尝试过但遇到了一些问题。实际上,通过联合中的指针访问内存会使我的微控制器崩溃,就像未对齐的内存访问一样。

static_cast …

c++ microcontroller hal stm32 type-punning

5
推荐指数
1
解决办法
1289
查看次数

STM32 HAL定时器中断未触发

我正在尝试使用中断从我的STM32F746ZG设备定期发送和串行字符串。大多数代码是由stm32cubemx自动生成的。我在每个中断处都设置了硬件断点(jlink),但在初始化时我只输入了一次周期运行功能。当我随机暂停调试器时,我看到计数器值在0到1000之间,正如预期的那样。所以我知道计数器每秒重置一次。内部时钟以16MHz运行。

我在嵌入式设备方面的经验仅限于BBB,Raspberry和Arduino。我尝试了不同的示例和教程,但此刻我已经不知道了。任何帮助或建议,不胜感激。

我的主要功能:

int main(void) {

    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_RTC_Init();
    MX_TIM1_Init();

    if (HAL_TIM_Base_Start(&htim1) != HAL_OK) {
        Error_Handler();
    }

    if (HAL_TIM_Base_Start_IT(&htim1) != HAL_OK) {
        Error_Handler();
    }

    while (1) {
        cnt = __HAL_TIM_GetCounter(&htim1);
    }
}
Run Code Online (Sandbox Code Playgroud)

TIM1初始化:

static void MX_TIM1_Init(void) {

    TIM_ClockConfigTypeDef sClockSourceConfig;
    TIM_MasterConfigTypeDef sMasterConfig;

    htim1.Instance = TIM1;
    htim1.Init.Prescaler = 16000;
    htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim1.Init.Period = 1000;
    htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim1.Init.RepetitionCounter = 0x0;
    if (HAL_TIM_Base_Init(&htim1) != HAL_OK) {
        Error_Handler();
    }

    sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
    if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) {
        Error_Handler();
    }

    sMasterConfig.MasterOutputTrigger = …
Run Code Online (Sandbox Code Playgroud)

hal timer interrupt stm32 interrupt-handling

5
推荐指数
1
解决办法
1万
查看次数

STM32 HAL USART通过中断接收

我在通过USART接收数据时遇到了一些麻烦。我实际上想要实现的目标是,我可以通过USART接收一个没有特定长度(只有最大可能长度)的命令。因此,我使用中断例程来检查收到的每个字符,但是我仍然无法实现我想要的功能。每当我收到一个新字符时,都会调用该例程,但是由于某种原因HAL_UART_Receive_IT(&huart1,rx_data,buff_size_rx)不能实时升级,因此当我检查rx_data [pointer]时看不到接收到的字符,但是稍后它在rx_data缓冲区中。

到目前为止,我有:

int pointer =0;

...

void USART1_IRQHandler(void)
{
  /* USER CODE BEGIN USART1_IRQn 0 */
    if ( USART1->ISR & UART_IT_TXE) {

    }

    if ( USART1->ISR & UART_IT_RXNE) {
        HAL_UART_Receive_IT(&huart1,rx_data,buff_size_rx);
        if(rx_data[pointer]=='\0') {
              pointer=0;
              readCommand(rx_data);
              clearBuffer(rx_data,buff_size_rx);
        } else {
          pointer++;
          if(pointer>=buff_size_rx) {
              pointer=0;
          }
        }
    }
    /* USER CODE END USART1_IRQn 0 */
    HAL_UART_IRQHandler(&huart1);
    /* USER CODE BEGIN USART1_IRQn 1 */



  /* USER CODE END USART1_IRQn 1 */
}
Run Code Online (Sandbox Code Playgroud)

hal stm32

5
推荐指数
2
解决办法
3万
查看次数

如何使用JSON HAL处理嵌套资源?

想象一下,REST端点(/employees)以JSON HAL格式提供员工页面.一名员工住在一个居住在非洲大陆的国家.

对于国家和大陆而言,也有单独的端点.

返回的页面包含_embedded具有员工数据的典型字段.员工资源还包含嵌套country资源.这个嵌套country资源也包含_links.

在这种情况下,输出将是:

GET /employees

{
  "_embedded": {
    "employees": [{
        "employee_id": 1
        "name": "Mr. X",
        "place_name": "London",
        "country": {
          "alpha2_code": "AU",
          "name": "Australia",
          "continent": {
            "code": "OC",
            "name": "Australia",
            "_links": {
              "self": {
                "href": "http://localhost:8077/continents/au"
              }
            }
          },
          "_links": {
            "self": {
              "href": "http://localhost:8077/countries/au"
            }
          }
        },
        "_links": {
          "self": {
            "href": "http://localhost:8077/employees/1"
          }
        }
      },
      {
      ..
      }
    ]
  },
  "_links": {
    "first": {
      "href": "http://localhost:8077/employees?page=1&size=10"
    }, …
Run Code Online (Sandbox Code Playgroud)

rest json domain-driven-design hal hypermedia

5
推荐指数
1
解决办法
978
查看次数

Spring Boot Actuator + Hal-Browser 和 DevTools 都不工作

更新:附加pom.xmlapplication.property更多错误/警告消息。

嗨,我对 Spring Boot 非常陌生,只是在 Udemy 上学习了一些课程。

在学习课程时,我通过 spring.io 创建了一个入门项目,并添加了执行器和 Hal 浏览器依赖项,包括开发工具。

刚刚运行我的应用程序并尝试转到localhost:8080/application& /browser,但我得到 404。

我究竟做错了什么?

我写了一个简单的 bean,它返回一个硬编码的值,然后打印出来,我改变了这个值来测试开发工具,但它没有重新启动资源,我不得不杀死并重新启动应用程序以反映新的变化..

我怎样才能检查出什么问题?

如果需要,我可以提供控制台抓取。

请帮忙。

更新:我不知道以下内容的重要性,所以把它放在这里。

在 XML 编辑器中,hal 是红色下划线,悬停时带有以下 msg:

托管版本为 3.0.5.RELEASE 神器在 org.springframework.data:spring-data-releasetrain:Kay-SR5 中管理

在 XML 编辑器中,devtools 是红色下划线,悬停时带有以下味精:

托管版本为 2.0.0.RELEASE 工件托管在 org.springframework.boot:spring-boot-dependencies:2.0.0.RELEASE

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

    <groupId>com.myoxigen.training.springboot</groupId>
    <artifactId>library</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>library</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository …
Run Code Online (Sandbox Code Playgroud)

browser spring hal spring-boot actuator

5
推荐指数
2
解决办法
4709
查看次数

Android.bp:如何添加外部标头 .h 文件

我有一个与How to add external header files during bazel/tensorflow build类似的问题。但我希望有更好的解决方案。

我有一个模块需要其他位置的一些外部 .h 头文件。假设我尝试包含“vendor/external/include/thirdpary.h”,在 Android.bp 中,我添加了一些类似的行:

include_dirs: [
"vendor/external/include",
]
Run Code Online (Sandbox Code Playgroud)

但是当我将它包含在我的 CPP 文件中时,编译器抱怨这个文件不存在:

#include "thirdpary.h"
Run Code Online (Sandbox Code Playgroud)

android hal android-soong

5
推荐指数
1
解决办法
3193
查看次数

为什么 HAL(超文本应用语言)已被弃用并且没有得到普及?

为什么 HAL 被弃用且不广泛使用?

HAL 背后的主要思想是在 http 端点之上添加一个抽象级别。使用关系概念向端点添加别名,而不是使用硬编码地址。这可以进行很多简化。例如,当两个团队处理两个模块并且第二个团队修改第一个团队使用的端点时,如果 HAL 的解析和地址检索是自动的(这很容易设置),则第一个团队将不必执行任何操作。

但我去维基并阅读:

最新版本的 HAL Internet-Draft 已于 2016 年 11 月 12 日到期

所以,我不明白为什么 HAL 没有得到广泛的认可,以及在现代分布式系统中它的替代品是什么。

当然,我知道消息传递系统,但它们依赖于平台。因此,我能想到的唯一其他选择是使用裸 http 地址来实现后端系统之间的平台无关通信,因为所有(几乎所有)技术都支持 http。

请不要将我的问题视为含糊不清,如果我上面写的内容不清楚,请在评论中提出问题。我的问题很明确:

1 HAL 是 Web 应用程序开发向前迈出的重要一步

2没有其他选择

3它已被弃用并且没有得到广泛认可

1、2、3产生了矛盾,所以这三者中的任何一个应该是错误的,我不知道哪一个是错误

messaging http hal distributed-system web

5
推荐指数
1
解决办法
957
查看次数