随着物联网技术的快速发展,嵌入式设备如ESP32与TFTLCD显示屏结合,已广泛应用于各类智能项目之中。在此背景下,基于ESP32和TFTLCD的网络天气时钟项目成为DIY爱好者和物联网开发者关注的热点。ESP32是一款功能强大的微控制器,它不仅拥有双核处理器、Wi-Fi与蓝牙功能,还具备低功耗蓝牙、支持触摸输入等特性,非常适合用于开发智能设备。而TFTLCD显示屏以其出色的显示效果和较高的性价比,成为实现人机交互界面的首选。 本项目基于ESP32与TFTLCD显示屏,旨在打造一款网络天气时钟。该时钟能够连接至互联网,实时获取天气信息,并将时间、日期与天气状况显示在TFTLCD屏幕上,为用户提供便捷的生活服务。项目提供多种源码,以满足不同用户的需求,无论是初学者还是有经验的开发者,都可以找到适合自己的版本。 从文件名称可以看出,这些源码可能包含了不同版本的天气时钟设计,其中可能涉及到不同编程语言和开发框架的选择,以及对应硬件的配置方法。例如,YD-ESP32-WEATHER3、YD-ESP32-WEATHER、YD-ESP32-WEATHER-TOT、YD-ESP32-WEATHER2等,这些可能代表了不同的功能特性和优化级别。而DOIT-ESP32-TFT-EASYWEATHER则可能是一个更易于上手的版本。 用户在使用这些源码时,需要具备一定的编程基础和硬件操作能力。需要对ESP32进行编程,包括网络连接、数据处理和显示界面设计等环节。还需要安装TFTLCD显示屏,并正确连接至ESP32开发板。在此基础上,用户可以根据实际需求,选择合适的源码进行编程调试,或者根据个人喜好对源码进行定制化修改。 为了帮助用户更好地理解和实施项目,文档中还提供了实物图,这有助于用户直观地了解项目的最终效果,并对照实物进行调试。网络天气时钟不仅是一个实用的工具,它还展示了ESP32与TFTLCD结合的无限可能性,为物联网项目提供了一个很好的实践案例。 基于ESP32和TFTLCD的网络天气时钟项目,无论是对于学习ESP32编程还是进行物联网应用开发,都是一个理想的选择。项目通过提供多种源码,满足了不同层次用户的需求,并通过实物图的展示,增强了项目的直观性和实践性。
2026-01-12 17:26:43 98.48MB esp32 天气时钟
1
本文详细介绍了电力行业中电气符号的标准化图形语言及其应用。电气符号是电力系统设计与运维中不可或缺的技术语言,广泛应用于电气工程图、原理图和电路设计中。文章依据国际电工委员会(IEC)和国家标准规范,系统解析了电源、开关、保护装置、测量仪表、电机、变压器、继电器及线路连接等常见电气符号的结构特征、标注规则及实际应用场景。掌握这些符号不仅有助于技术人员准确识读图纸,还能提升故障排查与设备维护的效率,对电力系统设计、运行与维护具有重要意义。此外,文章还提供了配套的精品资源,帮助读者深入理解和应用这些符号。 电气符号作为电力系统设计与运维领域的标准图形语言,承载了描述电气设备功能与相互关系的重要任务。文章细致解读了这些符号的标准化特征,包括电源、开关、保护装置、测量仪表、电机、变压器、继电器以及线路连接等,确保了电力行业内的沟通和技术交流的准确性。IEC标准和国家电工规范是解读这些符号的基础,通过对这些规范的遵循,技术人员能够在电气工程图和电路设计中准确应用电气符号,避免了在图纸解读和故障排查中的误差。而熟练掌握电气符号则能够显著提高电力系统设计、运行和维护的工作效率,确保电力系统的稳定性和安全性。 在电力系统的工程图和原理图中,电气符号不仅是对设备的直观表示,更是承载了设备工作原理和系统工作流程的重要载体。因此,理解这些符号的结构特征和标注规则,对于电力行业的技术人员来说是至关重要的。文章通过系统性地解析各类电气符号的实际应用场景,提供了深入的解析,使得技术人员能够更快地适应图纸阅读和现场工作。同时,文章还提供了辅助资源,如视频教程、练习题库等,帮助技术人员更全面地掌握这些符号的实际应用技巧,促进了他们对电力系统工作原理的深入理解。 电气符号的规范化和标准化,是全球电力行业的共同语言。通过掌握这些标准图形语言,不同国家和地区的技术人员能够跨越语言障碍,进行有效协作。文章依据国际电工委员会的规范,详细阐述了电气符号的应用,这不仅有助于技术人员的专业成长,也为电力行业的国际化协作打下了坚实的基础。在电力系统设计和运维的每个环节,准确使用和解读电气符号都是提高工作效率、保证工程质量和运维安全的关键。因此,本文内容对于电力行业的电气工程师、运维人员、设计人员等具有极大的实用价值。 电力行业的电气符号图解不仅有助于提升工作效率,更是保障电力系统稳定运行的关键。文章对于电力系统设计、运维与故障排查的贡献是全方位的,覆盖了从基础概念到复杂应用的各个层面。技术人员通过学习和应用这些电气符号,能够更有效地进行设备安装、系统调试和故障修复等工作,从而保障电力供应的连续性和可靠性。此外,文章提供的配套资源对于深化理解、实践应用和持续学习也提供了极大的帮助,使得技术人员能够在专业领域内持续进步。
2026-01-12 14:43:26 5KB 软件开发 源码
1
内容概要:本文详细介绍了将Marlin1.0.2固件移植到STM32F4xx平台的过程。主要内容涵盖环境搭建、源码剖析(如核心配置文件和硬件相关代码)、移植步骤(如初始化STM32F4xx硬件、适配Marlin与STM32F4xx接口)。文中强调了时钟配置、引脚映射、中断配置、ADC采样、定时器配置等关键环节的具体实现方法,并提供了许多实用技巧和注意事项。此外,还讨论了功能裁剪、编译优化等方面的内容。 适合人群:具有一定嵌入式开发经验和3D打印背景的研发人员,尤其是熟悉STM32和Marlin固件的开发者。 使用场景及目标:帮助开发者成功将Marlin1.0.2固件移植到STM32F4xx平台,解决移植过程中可能出现的各种问题,提高3D打印设备的性能和稳定性。 其他说明:文章不仅提供详细的代码示例和技术细节,还分享了许多实践经验,有助于读者更好地理解和掌握移植过程中的关键技术点。
2026-01-12 14:40:21 1.96MB
1
VB成绩统计饼图,生成圆形图表,圆饼百分比图表的例子,这种图表相信大家见多了,这个例子介绍了VB简单生成圆饼图的方法,对初学VB的朋友会有帮助,通过这个图表,你可以了解绘图、填充、按比例分配、绘制扇形等是如何实现的,用它来显示优秀人数、良好人数、及格人数、不及格人数所占的比例,各个比例用不同的颜色填充,让结果一清二楚,源代码运行于VB6.0环境 ,运行效果如下图所示。
2026-01-12 14:20:56 3KB VB源码-报表实例
1
本文详细介绍了Python中的PIL库及其Image模块的功能和用法。PIL库是Python Imaging Library的缩写,提供了强大的图像处理能力。Image模块作为PIL库的子模块,支持图像的打开、保存、处理、绘制和滤镜应用等多种操作。文章通过示例代码展示了如何打开和保存图像、调整图像大小、旋转图像、在图像上绘制文本以及应用滤镜等。此外,还介绍了如何将JPEG格式的图片转换为EPS和PDF格式,并指定图片大小进行保存。PIL库是一个功能全面的图像处理工具,适用于从简单到复杂的各种图像处理需求。 Python Imaging Library,简称PIL,是一个专注于图像处理的库,它支持多种文件格式的处理,并能够对图像进行加载、保存、修改等基础操作。其下的Image模块是PIL库中用于操作图像的核心模块,它为开发者提供了丰富的接口用于图像的基本处理,包括但不限于图像打开、保存、旋转、缩放、裁剪以及颜色通道操作等。 利用Image模块,用户可以轻易实现对图像的读取和写入,实现不同格式图像之间的转换,例如JPEG、PNG、GIF、BMP等格式。此外,还能够完成图像的简单编辑任务,例如对图像进行裁剪,添加文本水印,以及进行图像滤镜的处理,比如模糊、锐化和边缘检测等。 PIL库广泛应用于Web开发、图像分析、机器视觉等领域,不仅可以用于图像的简单处理,更可以进行复杂的图像合成和分析。其提供的强大功能,使得开发者在处理图像时可以更加高效和方便。在进行图像处理项目时,开发者无需再从头开始编写复杂的图像处理算法,可以直接利用PIL库提供的接口快速实现所需功能。 PIL库中的Image模块也支持对图像的像素级操作,允许开发者通过编程的方式对每个像素进行访问和修改,这为图像处理提供了极高的自由度。在某些特殊需求下,开发者还可以根据自己的需求定制滤镜,并应用在图像上。例如,实现一个自定义的边缘增强滤镜,能够增强图像边缘的对比度,从而使得图像的边缘更加清晰。 同时,PIL库支持批量处理图像,这在需要对大量图像执行同一操作时显得非常有用。开发者可以将特定的操作写成脚本,然后通过脚本自动化地处理成百上千的图像。这一点在处理大型图像集合或者进行图像库管理时尤为重要。 PIL库还有一个重要的应用场景是图像格式转换。开发者可以使用PIL轻松地实现不同图像格式之间的转换。例如,将彩色图片转换为灰度图,或者将一张JPEG格式的图片转换为EPS或PDF格式,以满足不同的输出需求。此外,还可以在转换过程中指定图片的尺寸,从而获得最适合打印或显示需求的图片版本。 PIL库及其Image模块为Python图像处理提供了一个功能丰富的工具集,能够满足从基本图像处理到复杂图像分析的各种需求。无论是学术研究还是商业应用,PIL库都能提供强大的支持,是图像处理领域不可或缺的一个组件。
2026-01-12 13:44:00 58KB 软件开发 源码
1
本文详细介绍了SBUS协议,包括其简介、硬件电路、协议格式及解析方法。SBUS是FUTABA提出的舵机控制总线,使用RS232C串口的硬件协议作为基础,采用TTL电平(3.3V)和负逻辑(低电平为“1”,高电平为“0”),波特率为100kbps。协议帧包括25字节数据,分为首部、数据、标志位和结束符。数据部分包含16个通道的值,每个通道用11位表示,取值范围为0~2047。文章还提供了硬件取反电路示例和STM32 HAL库代码实现,包括协议解析的具体方法和示例代码,帮助读者深入理解SBUS协议的工作原理和应用。 SBUS协议是一种由FUTABA公司提出的专业用于舵机控制的总线协议。它的基础是RS232C串口硬件协议,使用TTL电平标准,即3.3V的电压水平,并采用负逻辑方式,其中低电平代表“1”而高电平代表“0”。这种通信方式的波特率被设定为100kbps。SBUS协议的数据帧格式被设计为25字节长,其中包含帧的起始部、数据、标志位以及结束符。 SBUS协议的核心是数据部分,负责传输舵机控制信号。这部分数据包含了16个通道的控制值,每个通道的值用11位二进制数来表示,因此其数值范围可以达到0到2047。这种设计为舵机提供了非常精确的控制能力。 为了帮助读者更好地理解和应用SBUS协议,文章还提供了硬件取反电路的示例以及基于STM32 HAL库的代码实现。这些示例和代码详细展示了如何解析SBUS协议的数据帧,为开发者提供了实用的参考。通过这些解析方法和示例代码,读者可以更加深入地掌握SBUS协议的工作原理以及在实际项目中的应用。 SBUS协议的应用范围广泛,尤其在无人机、遥控模型车、机器人技术以及其他需要高精度舵机控制的领域中。由于其高效的通信速率和较低的误码率,SBUS协议成为这些领域内首选的舵机控制总线之一。该协议的标准化和普及为众多开发者和工程师提供了便利,促进了相关设备的互联互通和性能的提升。 此外,文章中提到的软件包和源码的发布,为SBUS协议的应用提供了有力的工具支持。开发者可以利用这些代码包直接在自己的项目中实现SBUS协议的通信功能,加速产品开发的进程。这些代码包的开源性质还有助于整个开发者社区的共享和创新,推动技术的不断进步。 STM32微控制器在SBUS协议实现中扮演着重要角色。其HAL库提供了丰富的硬件抽象层功能,使得开发者能够更容易地实现SBUS协议的数据解析和控制逻辑。STM32系列微控制器的高性能和灵活性,使其成为实现复杂控制任务的理想选择。在SBUS协议的应用中,开发者可以充分利用STM32的性能优势,实现高效率和高响应速度的控制系统。 SBUS协议的实现和应用不仅仅局限于微控制器层面,还包括了硬件设计部分。由于SBUS协议采用的是TTL电平标准,因此在硬件设计时需要特别注意电平转换和信号完整性的处理。电路设计人员需要确保硬件电路能够准确无误地处理SBUS协议的信号,这样才能保证控制系统的可靠性和稳定性。 SBUS协议的应用极大地促进了舵机控制技术的发展。通过标准化的通信协议,舵机的控制变得更加精确和高效。开发者通过阅读相关文档和代码示例,可以快速掌握SBUS协议的核心要点,并将其应用到自己的项目中,从而实现高质量的产品设计和创新。
2026-01-12 11:10:08 8KB 软件开发 源码
1
SBUS(Serial Bus)是一种串行通信总线协议,采用100K波特率、8位数据位、2位停止位和偶校验(8E2)的串口通信。协议格式包括起始字节、22个数据字节、标志位和结束字节,其中标志位用于检测控制器与接收器的连接状态。数据字节对应16个通道,每个通道11位,数据范围在0-2047之间。文章详细介绍了SBUS的串口配置、协议格式、数据解析与合并方法,以及硬件取反的必要性和两种工作模式(高速模式和普通模式)的间隔时间。此外,还提供了STM32中SBUS数据的发送和解析代码示例,帮助读者更好地理解和应用SBUS协议。 SBUS是一种串行通信总线协议,它主要被用于遥控器与飞行控制器之间的数据传输。该协议的特点包括使用100K波特率、8位数据位、2位停止位和偶校验(8E2)的串口通信格式。SBUS协议格式由多个部分组成,首先是起始字节,用于标识数据包的开始,紧接着是22个数据字节,用于承载16个通道的数据信息。每个通道能够传输11位的数据,这样就能表示从0到2047的数值范围。此外,协议还包括标志位,用于监控控制器与接收器之间的连接状态。 数据解析和合并是SBUS协议中非常关键的一个环节,通过正确的数据解析,可以确保数据的准确性和可靠性。在某些应用中,硬件取反是必要的步骤,这样做是为了兼容不同硬件之间的电气特性差异。SBUS协议支持两种工作模式,即高速模式和普通模式,两种模式之间的切换会根据设定的间隔时间来进行。 本文进一步详细阐述了如何在STM32开发环境中应用SBUS协议。包括如何进行串口配置,以及如何根据SBUS的协议格式进行数据的解析与合并。在代码示例中,展示了如何在STM32平台上发送和解析SBUS数据,这些示例代码有助于开发者更好地理解和实现SBUS协议的相关功能。由于SBUS协议在遥控器和飞行控制器通信中的重要性,它被广泛应用于无人机的飞控系统,尤其是PX4飞控系统,这就要求开发者对SBUS协议有一个深入的了解。 另外,对于那些需要与PX4飞控系统交互的开发人员来说,掌握SBUS协议也变得尤其重要。SBUS协议的相关实现通常需要涉及硬件和软件两个方面的知识,因此,了解其硬件特性和软件编程技巧对于开发人员来说都是必须的。在硬件方面,需要明白取反的原因和如何正确取反,而在软件方面,则需要熟悉如何编写能够处理SBUS数据的代码。 SBUS协议作为一种成熟的串行通信总线协议,它对于无线遥控领域具有重要的意义。它不仅在无人机飞控系统中占据核心地位,还在许多其他的遥控应用领域发挥着作用。开发者如果想要构建稳定可靠的遥控系统,就需要具备处理SBUS协议的能力。通过深入学习和实践本文所介绍的内容,开发者将能够有效地利用SBUS协议,提高无线遥控通信的效率和质量。
2026-01-12 11:02:35 6KB
1
本文详细介绍了srsRAN(原srsLTE)的环境搭建步骤,包括UHD、srsGUI和srsRAN的安装与配置。首先,确保系统和apt包列表更新,然后安装必要的依赖库和工具。接着,从源码编译安装UHD,并下载FPGA镜像文件以支持USRP设备。随后,安装srsGUI以提供图形界面支持。最后,下载并编译srsRAN,完成安装后通过测试验证环境是否搭建成功。文中还提供了低延时内核的安装方法以及NB-IoT小区搜索的测试步骤,帮助用户确认环境配置无误。 srsRAN环境搭建是一个涉及多个步骤的复杂过程,主要目的是安装和配置srsRAN(原srsLTE)软件,这是一个开源的LTE软件定义无线(SDR)的项目。它支持多种无线电硬件,使得开发者能够测试和验证LTE网络。本文档作为指南,详细阐述了安装srsRAN所需的关键步骤,并为解决可能遇到的问题提供了指导。 为了确保系统的良好状态和后续安装步骤的顺利进行,系统更新是首要任务。这包括更新系统以及apt包列表,以便获取最新的软件包信息。接着,安装必要的依赖库和工具。由于srsRAN涉及底层的硬件操作和复杂的网络协议处理,因此依赖于很多基础软件库。这些依赖包括但不限于编译器、库文件以及其他开发工具。安装这些依赖确保了srsRAN能够正确编译和运行。 源码编译安装UHD(即通用硬件驱动,Universal Software Radio Peripheral Hardware Driver)是一个核心步骤。UHD是支持USRP设备(通用软件无线电外设)的驱动程序和API。USRP设备是广泛用于SDR项目的硬件设备,而UHD提供了与这些硬件交互的接口。正确的UHD安装和FPGA镜像文件的配置是让USRP设备正常工作和进行信号处理的基础。在这一部分,文档还介绍了如何下载和配置FPGA镜像,以便USRP设备能够支持所需的通信标准。 srsGUI的安装为用户提供了一个图形用户界面,使得对srsRAN进行操作和监控更为便捷。虽然srsRAN本身是一个命令行工具,但srsGUI的加入提升了用户体验,尤其是在进行网络调试和性能监控时。 编译和安装srsRAN是一个相对独立的步骤,它需要之前安装的依赖库和工具,以及正确配置的UHD。在编译srsRAN时,需要从源代码进行,这保证了用户可以得到与本地硬件和操作系统兼容的最佳版本。安装完成后,通过一系列的测试来验证环境搭建是否成功,这些测试是评估安装成功与否的直接手段。 为了进一步优化性能,指南还提供了关于安装低延时内核的方法。在某些应用场景中,例如实时通信或高速数据传输,低延时内核可以显著提升网络的表现。安装和配置低延时内核对于追求极致性能的用户来说是一个重要的步骤。 指南中还包含了关于NB-IoT小区搜索的测试步骤。NB-IoT(Narrowband Internet of Things)是一种低功耗广域网络通信技术,特别适合于物联网设备。通过这些测试步骤,用户可以验证srsRAN是否能够正确地执行特定于NB-IoT的网络功能。 整个指南以一种非常详尽的方式,按照顺序阐述了每一个安装步骤,为用户实现一个稳定、可靠的srsRAN环境提供了充分的指导。无论是对于初学者还是有经验的开发者,这都是一份宝贵的资源,因为它不仅覆盖了基本的安装步骤,还包括了性能优化和特定场景测试,确保了用户可以全方位地掌握srsRAN的使用。
2026-01-12 10:13:15 8KB 软件开发 源码
1
在现代电子系统设计中,FPGA(现场可编程门阵列)由于其灵活性和高性能而广泛应用于各种工业和通信领域。Xilinx是全球领先的FPGA芯片供应商之一,其产品广泛应用于高速数据处理、复杂算法的硬件加速以及特殊应用场景的定制解决方案中。特别是随着物联网技术的快速发展,FPGA在实现复杂通信协议方面展现出了独特的优势。 CAN(Controller Area Network)总线是一种被广泛应用的,用于微控制器和设备之间的通信网络。它最初由德国汽车公司Bosch在1980年代初期设计,主要用于汽车内部各部件之间的通信,但因其高效性和可靠性,后来也被广泛应用于工业自动化、医疗设备和其他多种应用中。CAN总线支持多主机操作,具有非破坏性的仲裁方法,能够有效地解决数据冲突问题。 本资源所提供的Verilog源码是为了在Xilinx FPGA上实现CAN总线通信功能。Verilog是一种硬件描述语言(HDL),广泛应用于电子系统的设计与描述,它允许设计者通过编写代码来描述硬件电路的逻辑功能。在本源码中,利用Xilinx提供的CAN IP核来实现CAN总线协议的底层通信功能,这样做的好处是利用了成熟的设计模块,可以大幅度缩短设计时间,同时保证了通信功能的可靠性。 Vivado是Xilinx推出的一款集设计输入、综合、实现以及设备编程于一体的设计套件,其对7系列及以上的FPGA芯片提供了全面支持。这意味着,通过Vivado开发环境,设计者能够将本资源提供的源码在Xilinx FPGA的7系列以及更新的系列芯片上进行开发和部署。通过Vivado提供的图形化界面和丰富的IP核库,开发者能够更加便捷地进行设计调试和优化。 本资源中,源码被设计得直接可用,并且代码中包含清晰的注释。这意味着即使是初学者也能够快速理解和上手使用。注释的详尽程度直接关系到代码的可读性,对于维护和后续升级至关重要。源码的可用性对于那些希望在自己的项目中快速实现CAN总线通信的设计者来说,无疑是一个巨大的优势。 文件名称列表中包含多个文件,它们可能包含了详细的引言、源码分析以及在通信领域中的应用解析。文件"引言近年来随着物联网技术的快速发展总线.doc"可能详细介绍了物联网技术的发展趋势,以及总线技术在其中的重要角色。"在通信领域的应用与源码解析随着科技的快速发展总.txt"和"与实现总线通信源码分析一引言随着现代工业自动化的发.txt"可能提供了源码的具体实现方法和在通信领域中的应用案例分析。此外,还有多个与实现总线通信相关的文件,这些文件可能是对总线通信技术、原理及其在现代嵌入式系统中的应用的深入探讨。 本资源是一个针对Xilinx FPGA CAN总线通信实现的综合解决方案,它提供了一个直接可用、注释清晰的Verilog源码,通过Vivado设计环境支持7系列及更新的FPGA芯片,非常适合需要在物联网、工业自动化等场景中实现高效可靠通信的设计者使用。
2026-01-12 09:43:11 142KB
1
《Python电影院购票系统详解》 在信息技术飞速发展的今天,线上购票系统已经成为人们日常生活中不可或缺的一部分,尤其是在电影院领域。本文将深入探讨一个基于Python开发的电影院购票系统,它集成了用户管理、电影信息展示、在线订票及支付等功能,旨在为用户提供便捷、高效的观影体验。 该系统采用了Python作为主要的编程语言。Python以其简洁明了的语法和丰富的库支持,成为构建Web应用的热门选择。在这个购票系统中,Python可能结合了Flask或Django等Web框架,提供后端服务,处理HTTP请求并交互数据。 在用户界面方面,描述中提到了“前端订票”,这暗示了系统可能使用了Vue.js作为前端框架。Vue.js以其轻量级和易用性受到开发者喜爱,能方便地构建响应式用户界面,提供良好的用户体验。用户可以进行注册、登录操作,同时系统还具备电影列表查看、分类筛选、电影搜索等功能,这些都需要前端与后端通过API进行数据交互。 数据库是存储用户信息、电影信息和订单数据的关键组件。在标签中提及了MySQL或PostgreSQL等关系型数据库,它们可能被用于存储用户账户、电影详情、评论以及订单状态等数据。同时,MyBatis作为Java的持久层框架,可能被用于简化数据库操作,实现SQL查询与Java代码的无缝对接。 此外,Redis作为一个高性能的键值存储系统,可能被用于缓存频繁访问的数据,如热门电影列表、用户登录状态等,以提高系统的响应速度。Redis的订阅/发布功能也可能被用于实时通知,比如更新订单状态或者电影评论。 IDEA作为Java开发的主流集成开发环境,可能被用于开发和调试系统的后端部分。其强大的代码提示、调试工具和项目管理能力,为开发者提供了高效的工作环境。 总结而言,这个“Python电影院购票系统”是一个融合了Python后端、Vue.js前端、MySQL数据库、MyBatis持久层框架和Redis缓存的综合性应用。它体现了现代Web开发中的MVC(模型-视图-控制器)架构模式,实现了用户管理、电影信息展示、在线交易等多个功能模块,为用户提供了一站式的在线购票体验。通过这个系统,我们可以学习到如何利用多种技术协同工作,构建出满足实际需求的Web应用程序。
2026-01-12 09:33:06 5.5MB java vue idea redis
1